华为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');
    }
});
相关推荐
GISer_Jing4 分钟前
AI Agent操作系统架构师:Harness Engineer解析
前端·人工智能·ai·aigc
YMWM_7 分钟前
print(f“{s!r}“)解释
开发语言·r语言
愤豆10 分钟前
05-Java语言核心-语法特性--模块化系统详解
java·开发语言·python
bksczm11 分钟前
文件流(fstream)
java·开发语言
NGC_661112 分钟前
Java 线程池阻塞队列与拒绝策略
java·开发语言
英俊潇洒美少年13 分钟前
css中专门用来提升渲染性能、减少重排重绘的属性
前端·css
小碗羊肉24 分钟前
【从零开始学Java | 第二十二篇】List集合
java·开发语言
m0_7167652326 分钟前
C++提高编程--STL常用容器(set/multiset、map/multimap容器)详解
java·开发语言·c++·经验分享·学习·青少年编程·visual studio
天若有情67326 分钟前
前端HTML精讲01:别再乱 div 一把抓,吃透语义化标签才是进阶第一步
前端·html
Highcharts.js27 分钟前
React 开发者的图表库生态:Highcharts React
前端·react.js·前端框架