华为od 勾股数元组

题目描述

如果三个正整数ABCA² + B² = C² 则为勾股数,

如果ABC之间两两互质,即ABACBC均互质没有公约数,则称其为勾股数元组。

请求出给定 n ~ m 范围内所有的勾股数元组。

输入描述

起始范围

1 < n < 10000

n < m < 10000

输出描述

ABC保证A < B < C

输出格式A B C

多组勾股数元组,按照A B C升序的排序方式输出。

若给定范围内,找不到勾股数元组时,输出Na

输入:

bash 复制代码
1
20

输出:

bash 复制代码
3 4 5
5 12 13
8 15 17
javascript 复制代码
const readline = require('readline');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

function gcd(a, b) {
    return b == 0 ? a : gcd(b, a % b);
}

rl.on('line', line => {
    const [n, m] = line.split(' ').map(Number);
    let found = false;
    for (let i = n; i <= m; i++) {
        for (let j = i + 1; j <= m; j++) {
            const k = Math.sqrt(i * i + j * j);
            if (k > m) {
                break;
            }
            if (k * k == i * i + j * j) {
                if (gcd(i, j) == 1 && gcd(j, k) == 1) {
                    console.log(`${i} ${j} ${k}`);
                    found = true;
                }
            }
        }
    }
    if (!found) {
        console.log('Na');
    }
});
相关推荐
Aiolimp8 分钟前
React常见Hooks使用(二)
前端·react.js
By北阳8 分钟前
CSS 中实现 div 居中有以下几种常用方法
前端·css
在广东捡破烂的吴彦祖10 分钟前
window配置Flutter开发环境
前端·flutter
辣椒粉丝13 分钟前
记rspack想提issuse,提太慢白嫖不上了
前端·javascript
腰间盘突出的红利15 分钟前
npm组件库搭建
前端
火星思想15 分钟前
前端基础布局写法详解:左右、左中右及弹性布局实践
前端·css
小桥风满袖15 分钟前
Three.js-硬要自学系列10 (创建纹理贴图、自定义顶点UV坐标)
前端·css·three.js
七月丶18 分钟前
🧼 为什么我开始在项目里禁用 CSS 文件?
前端·javascript·后端
心系19 分钟前
vue项目引入marvinJS
前端·vue.js
李剑一19 分钟前
兄弟们,2025年了!求求你优化一下图片加载吧
前端·vue.js