202. Happy Number
Write an algorithm to determine if a number is "happy".
A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares of its digits, and repeat the process until the number equals 1 (where it will stay), or it loops endlessly in a cycle which does not include 1. Those numbers for which this process ends in 1 are happy numbers.
Example:
Input: 19 Output: true Explanation: pow(1,2) + pow(9,2) = 82 pow(8,2) + pow(2,2) = 68 pow(6,2) + pow(8,2) = 100 pow(1,2) + pow(0,2) + pow(0,2) = 1
思路: 快乐数字算到最后为1,不快乐数字算到最后为4一直循环 维基
代码:python3
class Solution:
def isHappy(self, n: int) -> bool:
num = 0
print(num)
while num != 1 and num != 4:
num = self.powValue(n)
n=num
else:
if num == 1:
return True
if num == 4:
return False
def powValue(self,n:int) -> int:
arr = []
while n >0 :
arr.append(int(n%10))
n = int(n/10)
num = 0
for i in arr:
num += pow(i,2)
return num