用连续的自然数之和来表达整数 Python3
import sys
for line in sys.stdin:
k=int(line)
print('{}={}'.format(k,k))
cnt=1
n=2
x=2*k+n-n*n
while x>0:
if x%(2*n)==0:
l=x//(2*n)
lt=list(range(l,l+n))
print('{}={}'.format(k,'+'.join(map(str,lt))))
cnt+=1
n=n+1
x=2*k+n-n*n
print('Result:{}'.format(cnt))
输入
9 51
输出
9=9 9=4+5 9=2+3+4 Result:3 51=51 51=25+26 51=16+17+18 51=6+7+8+9+10+11 Result:4
查看24道真题和解析