https://leetcode.cn/problems/happy-number/
/** * @param {number} n * @return {boolean} */ var isHappy = function(n) { let set = new Set() while (n !== 1 && !set.has(n)) { set.add(n) n = getSum(n) } return n === 1 } var getSum = function (n) { let sum = 0 while (n) { sum += (n % 10) ** 2 n = Math.floor(n / 10) } return sum }
/** * @param {number} n * @return {boolean} */ var isHappy = function (n) { let pre = n, cur = getNext(n) while (pre !== cur && pre !== 1) { pre = getNext(pre) cur = getNext(getNext(cur)) } return pre === 1 } var getNext = function (n) { let t = 0 while (n) { t += (n % 10) * (n % 10) n = Math.floor(n / 10) } return t }
原创文章,作者:czhdawn,如若转载,请注明出处:https://www.czhdawn.cn/archives/4839