测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

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")
上一题 下一题