快乐数的定义:一个数的每个数字的平方相加得到一个新数,重复执行这个操作直到得到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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录