zoukankan      html  css  js  c++  java
  • LeetCode--202--快乐数

    问题描述:

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

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

    示例: 

    输入: 19
    输出: true
    解释: 
    1

    2

     + 9

    2

     = 82
    
    8

    2

     + 2

    2

     = 68
    
    6

    2

     + 8

    2

     = 100
    
    1

    2

     + 0

    2

     + 02 = 1
    

    方法1:while循环每次计算每位的平方之和。当sum_ == 1 时return True,为了陷入死循环,设置list,每次sum_放进去,当再次发现相同的sum_时,说明已经计算过了,return FALSE

     1 class Solution(object):
     2     def isHappy(self, n):
     3         """
     4         :type n: int
     5         :rtype: bool
     6         """
     7         temp = []
     8         while True:
     9             sum_ = 0
    10             while n // 10:
    11                 sum_ += (n % 10)**2
    12                 n = n // 10
    13             sum_ += (n % 10)**2         
    14             if sum_ == 1:
    15                 return True
    16             n = sum_
    17             if sum_ in temp:
    18                 return False
    19             temp.append(sum_)

    2018-09-17 19:18:36

  • 相关阅读:
    DelphiXE
    Delphi_检查exe文件是否是"随机基址"
    Delphi_按字节比较两个文件
    HTTP 头部
    NumberFormat usage
    tomcat 配置
    android 与JS之间的交互
    离线安装SDK
    Android SDK更新 Connection to http://dl-ssl.google.com refused
    自定义圆形图片
  • 原文地址:https://www.cnblogs.com/NPC-assange/p/9664309.html
Copyright © 2011-2022 走看看