dw免费网站模板,三乡网站建设公司,迁西个人网页设计制作软件,页游传奇题目#xff1a;
编写一个算法来判断一个数 n 是不是快乐数。
「快乐数」 定义为#xff1a;
对于一个正整数#xff0c;每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1#xff0c;也可能是 无限循环 但始终变不到 1。如果这个过程 结…题目
编写一个算法来判断一个数 n 是不是快乐数。
「快乐数」 定义为
对于一个正整数每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1也可能是 无限循环 但始终变不到 1。如果这个过程 结果为 1那么这个数就是快乐数。
如果 n 是 快乐数 就返回 true 不是则返回 false 。
思路 代码
class Solution {private int getNext(int n) {int totalSum 0;while (n 0) {int d n % 10; // 个位n n / 10; // 把个位去掉,依次重复totalSum d * d;}return totalSum;}public boolean isHappy(int n) {if (n 0)return false;int slow n;int fast getNext(n);// 与单纯判断是否存在环不同后者 初始slowfastheadwhile (fast ! 1 slow ! fast) { // 找到1 或者 存在环 终止循环slow getNext(slow);fast getNext(getNext(fast));}return fast 1;}
}