A39147. 使用 Python 编写一个算法来确定一个数字是否“快乐”。快乐的数字按照如下方式确定: 从一个正整数开始,用其每位数的平方之和取代该数,并重复这个过程,直到最后数字要么收敛等于 1 且一直等于 1,要么将无休止的循环下去且最终不会收敛等于 1。能够最终收敛等于 1 的数就是快乐的数字。例如,数字 19 就是一个快乐的数字,计算过程如下:【输入示例 1】19【输出示例 1】Yes【输入示例 2】…
填空题
困难
知识点
题目描述
使用 Python 编写一个算法来确定一个数字是否“快乐”。
快乐的数字按照如下方式确定:
从一个正整数开始,用其每位数的平方之和取代该数,并重复这个过程,直到最后数字要么收敛等于 1 且一直等于 1,要么将无休止的循环下去且最终不会收敛等于 1。能够最终收敛等于 1 的数就是快乐的数字。
例如,数字 19 就是一个快乐的数字,计算过程如下:
【输入示例 1】
19
【输出示例 1】
Yes
【输入示例 2】
2
【输出示例 2】
No
参考答案
n = input("请输入一个正整数:")
def str_get_sum(n):
cnt = 0
for s in n:
s = int(s)
cnt += s * s
return str(cnt)
res = 0
ls = []
while res != '1':
res = str_get_sum(n)
n = res
if res in ls:
print("No")
break
ls.append(res)
if res == '1':
print("Yes")
上一题
下一题