我是靠谱客的博主 优雅身影,这篇文章主要介绍python 一正整数输出为连续整数的和,现在分享给大家,希望可以做个参考。

*** 输入任一正整数,对其输出为连续整数和的问题,且取序列最长的输出,当没有连续整数时输出为:NOANSWER***

##算法

序列最长,显然用循环便能输出,定义一个sum,用于和输入的值进行比较,由于连续整数没有取上整开始加的,那么定义一个上整的变量。循环时,用sum +=j来进行一个个累加,连续整数开头由i确定,因此可以定义出c和d,以便能输出整数的开头和结尾。

代码如下:

#想学代码的咸鱼
a=int(input())
c=0
f=0
b=(a//2)+1
for i in range(1,b):
    sum = 0
    sum=sum+i
    for j in range(i+1,a):
        sum=sum+j
        if sum!=a:
            continue
        elif sum == a:
            c=i
            d=j
            break
if c == sum:
    print(str(a)+':NOANSWER')#用到+,则必须保证相同类型
else:
    print(str(a)+'=',end='')#用到+,则必须保证相同类型
    for i in range(c,d):
        print(str(i)+'+',end='')#用到+,则必须保证相同类型
    print(d)

感想

本题是python上机的一个问题,由于是连续整数,可以不用列表,只需确定好序列的开头和结尾便能按格式输出。

最后

以上就是优雅身影最近收集整理的关于python 一正整数输出为连续整数的和的全部内容,更多相关python内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部