华为od 勾股数元组

题目描述

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

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

请求出给定 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');
    }
});
相关推荐
@#¥&~是乱码鱼啦1 分钟前
ArkWeb开发手记01|Web 组件 H5 加载与生命周期管理
前端
suaizai_2 分钟前
ComputerUse:让AI真正操控桌面系统
java·前端·javascript
CodeSheep8 分钟前
朋友面试谈薪报价2w,HR非得压到1.9,还反问他:你就差这1000块钱?后来背调时问了他前同事十几个问题,对方最后直接挂了
前端·后端·程序员
傲世仙尊9 分钟前
C++起步-命名空间解决命名冲突与cin-cout缺省参数
开发语言·c++
hljqwb13 分钟前
java服务异常日志只打印异常类型,没有堆栈定位分析(十)
java·开发语言
IMPYLH16 分钟前
HTML 的 <track> 元素
前端·html
涛涛ing16 分钟前
35个组件,把GPU特效直接跑在真实DOM上:Canvas UI正在重新定义Web视觉
前端
ym hyd 11117 分钟前
生鲜超市库存管理信息系统源码 Java+SpringBoot+Vue3 前后分离
java·开发语言·vue.js·spring boot·毕设
乘风gg18 分钟前
Spec Kit vs OpenSpec vs Superpowers:8 个 Skill 的落地实录与工程方法论
前端·ai编程·claude
haerapi18 分钟前
KingbaseES 全文检索实战之前:先建立中文搜索的可解释基线
开发语言·python·全文检索