zoukankan      html  css  js  c++  java
  • leetcode python快乐数

    编写一个算法来判断一个数是不是“快乐数”

    “快乐数”的定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复该过程直到为1,也可能是无限循环但始终变不到1。

    如果可以变为1,那么这个数就是快乐数。

    示例:

    输入:19

    输出:True

    解释

    1+ 9 = 82

    82 + 22 = 68

    62 + 82 = 100

    1+02 + 0= 1

    class Solution:
        def isHappy(self, n):
            temp = []
            while True:
                n = self.get_add(n)
                if n == 1:        #最终变为1 则返回True
                    return True
                elif n in temp:   #如果出现在列表里过 则代表已经无限循环了 可以返回False
                    return False
                else:             
                    temp.append(n)
    
    
        def get_add(self, n):   #该函数是求出数字n每个位数上的数字的平方和
            sum = 0
            while n != 0:
                g = n % 10
                sum += g ** 2
                n = int(n / 10)
            return sum
    
    
    
    if __name__ == '__main__':
        s = Solution()
        print(s.isHappy(19))
  • 相关阅读:
    kindeditor的使用
    阅读笔记(三)
    阅读笔记(二)
    架构漫谈
    阅读笔记(一)
    hdfs
    暑假周总结八
    暑假周总结七
    暑假周总结六
    暑假周总结五
  • 原文地址:https://www.cnblogs.com/hooo-1102/p/10775238.html
Copyright © 2011-2022 走看看