编写一个算法判断某个数字是否是“快乐数”。
快乐数的定义过程如下:从任意一个正整数开始,将原数替换为其每一位的平方和,重复此过程会得到两种可能:1.数字=1(此时其值将不再变化),2.进入一个不包含1的无限循环。那些以1为终止的数字即为“快乐数”。
Example: 19 is a happy number
- 12 + 92 = 82
- 82 + 22 = 68
- 62 + 82 = 100
- 12 + 02 + 02 = 1
class Solution(object):
def isHappy(self, n):
"""
:type n: int
:rtype: bool
"""
ans = set()
while n != 1:
n = sum(int(i)**2 for i in str(n))
if n in ans:
return False
else:
ans.add(n)
else:
return True
本文介绍了一种用于判断正整数是否为快乐数的算法。快乐数是指通过将该数每位数字的平方和不断迭代,最终能够收敛到1的数字。文章提供了一个Python实现示例,演示了如何使用集合数据结构来避免无限循环并高效地判断快乐数。
891

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



