zoukankan      html  css  js  c++  java
  • Python算法题

    1,问题描述

      输入一个正数n,输出所有和为n 连续正数序列。
      例如:输入15
                     结果:由于1+2+3+4+5=4+5+6=7+8=15,
             所以输出3 个连续序列1-5、4-6 和7-8。

    2,python 代码实现

    #!/usr/bin/env python
    # -*- encoding: utf-8 -*-
    '''
    @File        :getPositivenumberList.py
    @Description :输入一个正数n,输出所有和为n 连续正数序列。
    @CreatTime   :2020/08/28 17:34:22
    @Author      :Yunhgu
    @Version     :1.0
    '''
    def getPositivenumberList(n):
        n_list = [i for i in range(1, n+1)]
        result = []
        for j in range(1,n):
            i = 0
            while True:
                if i>=n-i:
                    break
                if sum(n_list[i:i+j+1]) == n:
                    result.append(n_list[i:i+j+1])
                i+=1
    #如果有结果则打印结果 if result: for r in result: r_new = map(lambda x:str(x), r) print(f"{'+'.join(r_new)}={n}") else: print('None') if __name__ == "__main__": getPositivenumberList(int(input('please input a number:')))
    不论你在什么时候开始,重要的是开始之后就不要停止。 不论你在什么时候结束,重要的是结束之后就不要悔恨。
  • 相关阅读:
    第三题 bfw在睡觉
    第二题 bfw和zhk的故事
    第一题 奶牛散步
    AC加油站7月比赛总结
    暑期机房联赛
    题解 P5663 【加工零件【民间数据】】
    题解 P1052 【过河】
    并发编程之进程
    网络编程socketserver
    网络编程之黏包
  • 原文地址:https://www.cnblogs.com/yunhgu/p/13579382.html
Copyright © 2011-2022 走看看