题目描述
如果 3 个正整数(a,b,c)满足 a2+b2=c2 的关系,则称(a,b,c)为勾股数(著名的勾三股四弦五),
为了探索勾股数的规律,我们定义如果勾股数(a,b,c)之间两两互质(即 a 与 b,a 与 c,b 与 c 之间均互质,没有公约数),则其为勾股数元组(例如(3,4,5)是勾股数元组,(6,8,10)则不是勾股数元组)。
请求出给定范围 [N,M] 内,所有的勾股数元组。
题面描述
给定两个正整数 N 和 M,其中 1≤N≤10000 且 N<M≤10000,要求在区间 [N,M] 内找出所有的勾股数元组 (a,b,c),满足以下条件:
- a<b<c 且 a2+b2=c2;
- (a,b,c) 两两互质,即 a 与 b,a 与 c,b 与 c 之间均无公约数;
- 输出的勾股数元组按照 a 升序,b 升序,c 升序排列;
- 如果在给定范围内找不到满足条件的勾股数元组,输出 “NA”。
思路