概述
*** 输入任一正整数,对其输出为连续整数和的问题,且取序列最长的输出,当没有连续整数时输出为: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 一正整数输出为连续整数的和所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复