华为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');
    }
});
相关推荐
weixin_441455267 分钟前
说说Java有哪些集合类
java·开发语言
合作小小程序员小小店14 分钟前
web网页开发,在线%台球俱乐部管理%系统,基于Idea,html,css,jQuery,jsp,java,ssm,mysql。
java·前端·jdk·intellij-idea·jquery·web
李趣趣14 分钟前
C#中关于ContextMenuStrip批量添加Item的问题
开发语言·c#
张人玉18 分钟前
C# 串口通讯中 SerialPort 类的关键参数和使用方法
开发语言·c#·串口通讯
不爱吃糖的程序媛21 分钟前
Electron 应用中的系统检测方案对比
前端·javascript·electron
泷羽Sec-静安25 分钟前
Less-9 GET-Blind-Time based-Single Quotes
服务器·前端·数据库·sql·web安全·less
白山云北诗29 分钟前
网站被攻击了怎么办?如何进行DDoS防御?
开发语言·网络安全·php·ddos·防ddos·防cc
pe7er38 分钟前
用高阶函数实现递归:从匿名函数到通用递归生成器
前端·javascript
程序定小飞1 小时前
基于springboot的作业管理系统设计与实现
java·开发语言·spring boot·后端·spring
IT古董1 小时前
全面理解 Corepack:Node.js 的包管理新时代
前端·node.js·corepack