1process.stdin.resume(); 2process.stdin.setEncoding('utf-8'); 3let input = ''; 4process.stdin.on('data', (data) => { 5 input += data; 6}); 7process.stdin.on('end', () => { 8 let inputArray = input.trim().split('\n'); 9 const n = parseInt(inputArray[0], 10); 10 11 /** 12 * 判断是否为快乐数的函数 13 * @param {number} num - 要判断的数字 14 * @returns {boolean} - 如果是快乐数返回 TRUE,否则返回 FALSE 15 */ 16 function isHappy(num) { 17 const seen = new Set(); 18 19 while (num !== 1 && !seen.has(num)) { 20 seen.add(num); 21 num = getNext(num); 22 } 23 24 return num === 1; 25 } 26 27 /** 28 * 计算一个数字每个位置上的数字的平方和 29 * @param {number} num - 输入的数字 30 * @returns {number} - 每个位置上的数字的平方和 31 */ 32 function getNext(num) { 33 let sum = 0; 34 while (num > 0) { 35 let digit = num % 10; 36 sum += digit * digit; 37 num = Math.floor(num / 10); 38 } 39 return sum; 40 } 41 42 const result = isHappy(n); 43 console.log(result ? 'TRUE' : 'FALSE'); 44 process.exit(); 45});
Copyright ©2010-2022 比特日记 All Rights Reserved.
Powered By 可尔物语