用连续的自然数之和来表达整数 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

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务