Python實現"快樂的數"的一種方法
阿新 • • 發佈:2018-12-10
寫一個演算法判斷一個數字是不是快樂數
快樂數由下面的過程定義:任何正數,用它數字的平方和替換它,重複這個過程直至結果為1,或者以一個環無線迴圈,環中的正數不包括1。這個過程以1結束就可以認為是快樂的數
Example:
Input: 19 Output: true Explanation: 12 + 92 = 82 82 + 22 = 68 62 + 82 = 100 12 + 02 + 02 = 1
1:快樂的數計算結果一定為1,不是快樂的數計算結果中一定存在環
def isHappy(self, n): """ :type n: int :rtype: bool """ numList = [n] #存放所有計算出來的數,用於判斷是否存在環 while n!=1: #如該計算結果為1,說明該數是快樂的數 sum=0 for i in str(n): sum += int(i)**2 if sum not in numList: #判斷是否存在環 numList.append(sum) else: #存在環就說明該數不是快樂的數 return False n = sum return True