Python一个整数分解为连续正整数之和
本帖最后由 judgecx 于 2019-12-25 16:12 编辑搞成之和就不会了
因式分解还会
哪位大佬指点一下
也就是输入15
然后输出
15 = 1 + 2 + 3 + 4 + 5
15 = 4 + 5 + 6
15 = 7 + 8 木有明确楼主到底要啥。你说拆分为正整数之和,1+14 2+131+2+12这样很多了, 具体需求 n = 15
for m in range(1, int(n/2)):
if(2 * n % m == 0):
t = 2 * n / m - m + 1
if (t % 2 == 0):
i = int(t / 2)
print(*range(i, i + m)) 把n除2,
得到的结果是整数的话就每次左右各加一个商两边的数,循环一下,终止条件是这些数之和等于n;
得到的结果不是整数的话也差不多。 我也不太懂,正好来围观一下大神的解答哈哈哈 本帖最后由 gufengaoyue 于 2019-12-25 18:30 编辑
n=15
m=range(1,n+1)
print(*,m + y)) for x in m for y in m if sum(range(m,m + y)) ==n])
哈哈哈 chinaqin 发表于 2019-12-25 17:03
木有明确楼主到底要啥。你说拆分为正整数之和,1+14 2+131+2+12这样很多了, 具体需求
楼主说连续正整数之和 好像楼上已经给出答案了,楼主可以验证一下 netCheney 发表于 2019-12-25 18:45
好像楼上已经给出答案了,楼主可以验证一下
验证了 老哥你还有其他方法吗
页:
[1]