> For the complete documentation index, see [llms.txt](https://cai-sen-se.gitbook.io/leetcode/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cai-sen-se.gitbook.io/leetcode/201-400/202.-kuai-le-shu.md).

# 202. 快乐数

<https://leetcode-cn.com/problems/happy-number/>

## 解法一：

观察可知，一旦出现重复数字，则进入循环。将所有第一次出现的数存入一个set，一直计算直到出现set中存在的数为止。过程中出现1则返回true

```python
class Solution:
    def isHappy(self, n: int) -> bool:
        s = set()   
        while n not in s:
            #若出现1就返回true
            if n == 1:
                return True
            s.add(n)
            #计算快乐数
            sum = 0
            while n > 0:
                digit = n % 10
                n //= 10
                sum += digit ** 2
            n = sum    #更新    
        return False
```
