华为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');
    }
});
相关推荐
曹牧5 分钟前
C#:The operation has timed out
开发语言·c#
徐小夕15 分钟前
JitOffice:把办公、AI 与审批装进同一个平台
前端·vue.js·github
你看我名字15 分钟前
数眼智能 Search + Reader 实战:联网问答怎样避免“搜到了,却引用错了”
android·java·开发语言
小嘉丶学长17 分钟前
Day13 · 列表与元组
linux·运维·服务器·开发语言·python
徐小夕20 分钟前
万字分享:为什么我们要自研Word解析引擎?JitWord 解析引擎 4.0 深度复盘
前端·vue.js·github
努力努力再努力wz21 分钟前
【Lua入门系列】从 C++ 迭代器到 Lua 迭代器:一文深入理解 Lua 有状态以及无状态迭代器与泛型for、闭包、ipairs、pairs 和 next
开发语言·c++·lua
陈随易29 分钟前
副业搞钱点子之独立开发
前端·后端·程序员
努力实干29 分钟前
第二阶段 · 第 7 课:C++ 多线程与线程安全
开发语言·c++·安全
console.log('npc')38 分钟前
问题跟踪与知识沉淀:从任务到知识的闭环)
前端·javascript·人工智能
爱聊灵光的维C1 小时前
C语言初阶:关于函数设计的详细讲解和注意事项
c语言·开发语言·青少年编程·蓝桥杯·学习方法