幸福的数字由以下过程定义.从任何正整数开始,将数字替换为其数字的平方和,并重复该过程,直到数字等于1.
但是当数字不是一个快乐的数字时,它会在一个不包含1的循环中无休止地循环.
我已经编写了python中的happy number问题,但问题是当一个数字不满意时,那我怎么能停止迭代循环.因为它不会以1结束并且会继续重复.
def happynumber(number):
while(number!=1):
numberstr = str(number) #converting a number to string
index=0
sum=0
while(index!=len(numberstr)):
sum = sum + int(numberstr[index])*int(numberstr[index])
index = index+1
print sum
number = sum
return number
Run Code Online (Sandbox Code Playgroud)
Kev*_*vin 11
您可以使用恒定的内存量检测不满意的数字.根据维基百科,对于任何正整数起点,序列将终止于一,或永远循环4, 16, 37, 58, 89, 145, 42, 20, 4.由于不存在其他循环,因此很容易测试不快乐.
def isHappy(x):
while True:
if x == 1:
return True
if x == 4:
return False
x = nextNumberInSequence(x)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2549 次 |
| 最近记录: |