你现在是前端专家写个程序判断一个数是否是快乐数
快乐数的定义:一个数的每个数字的平方相加得到一个新数,重复执行这个操作直到得到1,那么这个数就是快乐数。如果不是快乐数,会形成一个循环,这个循环中的数字不包含1。
以下是前端代码实现:
function isHappyNumber(num) {
let sum = 0;
let numStr = num.toString();
while (sum !== 1) {
sum = 0;
for (let i = 0; i < numStr.length; i++) {
sum += Math.pow(parseInt(numStr.charAt(i)), 2);
}
if (sum === 4) { // 如果数字变成了4,那么就会进入一个循环,不是快乐数
return false;
}
numStr = sum.toString();
}
return true;
}
// 测试
console.log(isHappyNumber(19)); // true
console.log(isHappyNumber(2)); // false
console.log(isHappyNumber(7)); // true
解释:
首先将输入数字转为字符串类型,然后进入一个while循环。在循环中,将字符串中的每个数字取出来,进行平方操作并累加得到一个新数。如果新数等于1,则说明这个数是快乐数,直接返回true。如果新数等于4,则说明这个数不是快乐数,会进入一个循环,直接返回false。如果新数既不等于1也不等于4,那么将新数转换成字符串类型,继续执行while循环
原文地址: https://www.cveoy.top/t/topic/fIMC 著作权归作者所有。请勿转载和采集!