平方数之和

平方数之和

 1process.stdin.resume();  2process.stdin.setEncoding('utf-8');  3let input = '';  4  5process.stdin.on('data', (data) => {  6 input += data;  7});  8  9process.stdin.on('end', () => { 10 // 去除输入字符串两端的空白字符 11 input = input.trim(); 12 13 // 解析输入字符串为整数 14 const c = parseInt(input, 10); 15 16 // 调用函数检查是否存在满足条件的a和b 17 const result = checkPythagoreanTriple(c); 18 19 // 输出结果 20 console.log(result ? 'TRUE' : 'FALSE'); 21 22 process.exit(); 23}); 24 25/** 26 * 检查是否存在满足a^2 + b^2 = c^2的整数a和b 27 * @param {number} c - 给定的整数c 28 * @returns {boolean} - 如果存在满足条件的a和b,则返回true;否则返回false 29 */ 30function checkPythagoreanTriple(c) { 31 // c的平方 32 const cSquared = c * c; 33 34 // 遍历所有可能的a和b值(a和b都不小于1) 35 for (let a = 1; a <= c; a++) { 36 for (let b = a; b <= c; b++) { // b从a开始可以减少一半的计算量,因为a和b是对称的 37 if (a * a + b * b === cSquared) { 38 return true; 39 } 40 } 41 } 42 43 return false; 44}
process.stdin.resume(); process.stdin.setEncoding('utf-8'); let input = ''; process.stdin.on('data', (data) => { input += data; }); process.stdin.on('end', () => { // 去除输入字符串两端的空白字符 input = input.trim(); // 解析输入字符串为整数 const c = parseInt(input, 10); // 调用函数检查是否存在满足条件的a和b const result = checkPythagoreanTriple(c); // 输出结果 console.log(result ? 'TRUE' : 'FALSE'); process.exit(); }); /** * 检查是否存在满足a^2 + b^2 = c^2的整数a和b * @param {number} c - 给定的整数c * @returns {boolean} - 如果存在满足条件的a和b,则返回true;否则返回false */ function checkPythagoreanTriple(c) { // c的平方 const cSquared = c * c; // 遍历所有可能的a和b值(a和b都不小于1) for (let a = 1; a <= c; a++) { for (let b = a; b <= c; b++) { // b从a开始可以减少一半的计算量,因为a和b是对称的 if (a * a + b * b === cSquared) { return true; } } } return false; }

Powered By 可尔物语

浙ICP备11005866号-12