快乐数
‘’’
快乐数(happy number)有以下的特性:
在给定的进位制下,该数字所有数位(digits)的平方和,
得到的新数再次求所有数位的平方和,如此重复进行,最终结果必为1。
那么就是快乐数,输出true
否则输出false
示例:输入28,输出true
28 → 22+82=68 → 62+82=100 → 12+02+0^2=1
‘’’
def judegHappNum(n):
try:
while (n!=1):
if n<10:
n = n ** 2
udegHappNum(n)
else:
s = str(n)
d = 0
for i in s:
d = d + int(i)**2
n = d
judegHappNum(n)
else :
return True
except Exception:
return False
if __name__ == '__main__':
print(judegHappNum(28))
如有好的实现方式请指教,欢迎交流
版权声明:本文为zhangxuelong461原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。