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:')))
    不论你在什么时候开始,重要的是开始之后就不要停止。 不论你在什么时候结束,重要的是结束之后就不要悔恨。
  • 相关阅读:
    python count函数
    kubenetes服务发现
    k8s网络
    k8s创建pod流程
    openstack创建虚拟流程、各组件介绍
    生产者消费者问题
    Date类和Calendar类
    Timer定时器
    Java中的克隆
    注解
  • 原文地址:https://www.cnblogs.com/yunhgu/p/13579382.html
Copyright © 2011-2022 走看看