快乐数

快乐数

 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});
process.stdin.resume(); process.stdin.setEncoding('utf-8'); let input = ''; process.stdin.on('data', (data) => { input += data; }); process.stdin.on('end', () => { let inputArray = input.trim().split('\n'); const n = parseInt(inputArray[0], 10); /** * 判断是否为快乐数的函数 * @param {number} num - 要判断的数字 * @returns {boolean} - 如果是快乐数返回 TRUE,否则返回 FALSE */ function isHappy(num) { const seen = new Set(); while (num !== 1 && !seen.has(num)) { seen.add(num); num = getNext(num); } return num === 1; } /** * 计算一个数字每个位置上的数字的平方和 * @param {number} num - 输入的数字 * @returns {number} - 每个位置上的数字的平方和 */ function getNext(num) { let sum = 0; while (num > 0) { let digit = num % 10; sum += digit * digit; num = Math.floor(num / 10); } return sum; } const result = isHappy(n); console.log(result ? 'TRUE' : 'FALSE'); process.exit(); });

Powered By 可尔物语

浙ICP备11005866号-12