leetcode 202(easy)--Happy Number

难度:easy

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: 19 is a happy number

  • 12 + 92 = 82
  • 82 + 22 = 68
  • 62 + 82 = 100
  • 12 + 02 + 02 = 1
思路:将给定的任意数字的每位取平方再求和,如果最后的和为1,则该数为happy number。

           本题学习如何写将任意数的各位平方和相加的代码,并将n存入字典中,判断是否出现重复。另外还要考虑,如果数字为个位,且平方和也为个位的情况。

           用两个while循环实现。


leetcode 202(easy)--Happy Number


方法2:将数字转化为str,然后对string的每位的进行平方求和。

leetcode 202(easy)--Happy Number