Java实现快乐数算法
时间: 2023-09-23 17:12:11 浏览: 106
快乐数是指对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,或者是无限循环但始终变不到 1,那么这个数就是不快乐数。Java实现快乐数算法可以使用Set来记录每次计算得到的结果,如果出现重复的结果,则说明出现了循环,可以结束计算。
以下是Java实现快乐数算法的代码示例:
```java
public boolean isHappy(int n) {
Set<Integer> set = new HashSet<>();
while (n != 1) {
int sum = 0;
while (n != 0) {
int digit = n % 10;
sum += digit * digit;
n /= 10;
}
if (set.contains(sum)) {
return false;
}
set.add(sum);
n = sum;
}
return true;
}
```
在上面的代码中,首先创建了一个HashSet来记录每次计算得到的结果。然后使用while循环来计算每个数字的平方和,如果得到的结果已经在set中出现过了,说明出现了循环,可以结束计算并返回false。否则将结果加入set中,并将n赋值为计算得到的结果,继续下一轮计算。如果最终得到的结果为1,则说明这是一个快乐数,返回true。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)