华为OD机试C卷-- 勾股数元组(Java & JS & Python)

飞码创造者 2024-06-21 16:35:01 阅读 62

获取题库不需要订阅专栏,可直接私信我进入CSDN领军人物top1博主的华为OD交流圈观看完整题库、最新面试实况、考试报告等内容以及大佬一对一答疑。

题目描述

如果3个正整数(a,b,c)满足a^2 + b^2 = c^2的关系,则称(a,b,c)为勾股数(著名的勾三股四弦五),

为了探索勾股数的规律,我们定义如果勾股数(a,b,c)之间两两互质(即a与b,a与c,b与c之间均互质,没有公约数),则其为勾股数元组(例如(3,4,5)是勾股数元组,(6,8,10)则不是勾股数元组)。

请求出给定范围[N,M]内,所有的勾股数元组。

输入描述

起始范围N,1 <= N <= 10000

结束范围M,N < M <= 10000

输出描述

a,b,c请保证a < b < c,输出格式:a b c;

多组勾股数元组请按照a升序,b升序,最后c升序的方式排序输出;

给定范围中如果找不到勾股数元组时,输出”NA“。

题目解析

本题要求找出指定范围内所有互质的勾股数元组,即满足

𝑎2+𝑏2=𝑐2a 2 +b 2 =c 2

且a、b、c之间两两互质的正整数组合。解题的关键在于理解勾股数的产生规律,特别是最小的几个勾股数元组&#



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。