题目:
程序说明:
将数字的每一位存入列表,遍历它们进行平方计算再相加得到一个新的数,将这个数存入一个新列表,之后再对这个数进行以上操作,还有判断它是否存在于新列表中,若存在,则证明出现循环了,则需要停止操作,最后输出列表中的最大值即可。(注意,这里的a是随便取的值,但是由于题中有说最后有有可能会落入1,因此a若取做1,则最后会返回1)
全部代码:
a = 101
li = []
while a:
b = list(str(a))
num = 0
for i in b:
num += int(i)**2
a = num
if a in li:
break
li.append(a)
print(max(li))
>>>145
本篇介绍了一个算法过程,该过程通过不断对数字的每一位进行平方并求和来生成新的数字,直到发现循环或者落入1为止。最终输出过程中产生的最大数值。


被折叠的 条评论
为什么被折叠?



