我们都知道能够组成直角三角形三个边的最小一组整数是 3, 4, 5。 现在要求你求出 在一定范围内的 所有可以组成直角三角形三个边的整数组。 给定范围l,r l<=r。求[l,r]内有多少可以组成直角三角形的整数边长,并输出。 输出顺序是 每一对组合,3条边按照非递减序; 所有组合的输出顺序同样按照 非递减序。 注意:例如 3 4 5 和4 3 5 是同一组,只输出3 4 5(非递减序)。 输入说明 有多组测试数据。 每组一行输入整数l,r。( 0 < l <= r <=5000 ) 输出说明 对于每组测试输入,单独1行输出。 如果范围内有对应的三边组合,则按照上面所说的顺序输出。 如果范围内没有这样的三边组合,输出"NO"。C语言实现
时间: 2024-02-11 20:09:11 浏览: 29
以下是一个C语言实现:
```c
#include <stdio.h>
int gcd(int a, int b) {
if (b == 0) {
return a;
}
return gcd(b, a % b);
}
void printPythagoreanTriple(int l, int r) {
int count = 0;
for (int a = l; a <= r - 2; a++) {
for (int b = a + 1; b <= r - 1; b++) {
for (int c = b + 1; c <= r; c++) {
if (a * a + b * b == c * c && gcd(a, b) == 1 && gcd(b, c) == 1) {
count++;
printf("%d %d %d\n", a, b, c);
}
}
}
}
if (count == 0) {
printf("NO\n");
}
}
int main() {
int l, r;
while (scanf("%d %d", &l, &r) != EOF) {
printPythagoreanTriple(l, r);
}
return 0;
}
```
函数`gcd`用于求两个数的最大公约数。函数`printPythagoreanTriple`用于输出[l, r]范围内的所有可以组成直角三角形的整数边长。
在`printPythagoreanTriple`函数中,使用三重循环枚举a、b、c三个数,判断它们是否可以组成直角三角形。如果满足条件,则输出它们,并将计数器`count`加1。最后如果`count`的值为0,则输出"NO"。
在主函数中,使用一个循环不断读入l和r的值,并调用`printPythagoreanTriple`函数输出结果。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)