judgecx 发表于 2019-12-25 16:07

Python一个整数分解为连续正整数之和

本帖最后由 judgecx 于 2019-12-25 16:12 编辑

搞成之和就不会了
因式分解还会
哪位大佬指点一下
也就是输入15
然后输出
15 = 1 + 2 + 3 + 4 + 5

15 = 4 + 5 + 6

15 = 7 + 8

chinaqin 发表于 2019-12-25 17:03

木有明确楼主到底要啥。你说拆分为正整数之和,1+14    2+131+2+12这样很多了, 具体需求

zach14c 发表于 2019-12-25 17:06

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))

万俟晓风 发表于 2019-12-25 17:42

把n除2,
得到的结果是整数的话就每次左右各加一个商两边的数,循环一下,终止条件是这些数之和等于n;
得到的结果不是整数的话也差不多。

Aszccdd 发表于 2019-12-25 17:57

我也不太懂,正好来围观一下大神的解答哈哈哈

gufengaoyue 发表于 2019-12-25 18:24

本帖最后由 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])

哈哈哈

dazhuang 发表于 2019-12-25 18:34

chinaqin 发表于 2019-12-25 17:03
木有明确楼主到底要啥。你说拆分为正整数之和,1+14    2+131+2+12这样很多了, 具体需求

楼主说连续正整数之和

netCheney 发表于 2019-12-25 18:45

好像楼上已经给出答案了,楼主可以验证一下

judgecx 发表于 2019-12-25 18:48

netCheney 发表于 2019-12-25 18:45
好像楼上已经给出答案了,楼主可以验证一下

验证了 老哥你还有其他方法吗
页: [1]
查看完整版本: Python一个整数分解为连续正整数之和