小小白蛋 发表于 2019-4-4 10:59:54

求讲解输入n,输出所有和为n 的连续正数序列

输入一个正数n,输出所有和为n的连续正数序列{:10_257:}

凌九霄 发表于 2019-4-4 14:20:38

def func(tsum):
    if tsum == 1:
      return [ ]
    small = 1
    big = 2
    mid = tsum // 2
    cursum = small + big
    result = [ ]
    while small <= mid:
      if cursum == tsum:
            result.append([ i for i in range(small, big + 1) ])
            big += 1
            cursum += big
      elif cursum < tsum:
            big += 1
            cursum += big
      else:
            cursum -= small
            small += 1
    return result

小小白蛋 发表于 2019-4-4 15:49:34

感谢感谢{:10_279:}
页: [1]
查看完整版本: 求讲解输入n,输出所有和为n 的连续正数序列