python 求和為正整數n的連續整數序列
阿新 • • 發佈:2019-01-07
原文:http://bbs.chinaunix.net/thread-4191271-1-1.html
-
n = 100
-
s = range(1, n)
-
d = [s[i:i+j] for i in range(len(s)) for j in range(1, len(s)-i+1) if sum(s[i:i+j]) == n]
- print d
def N2S(n): x = int(n / 2) + 1 + 1 s = [0] r = [] for i in range(1, x): s.append(s[-1] + i) for i in range(1, x): k = n + s[i - 1] for j in range(i + 1, x): if s[j] < k: continue if s[j] == k: r.append(range(i, j + 1)) break for i in r: print(list(i)) N2S(15)