A,B,C是三个正整数,当满足1/A^2+1/B^2=1/C^2关系时,称为倒勾股数。求100<=A+B+C<=200且A>B>C的倒勾股数有多少组,并把每组倒勾股数显示出来。C语言程序表示
时间: 2023-03-03 15:59:57 浏览: 300
C语言程序设计-将两个两位数的正整数a、b合并形成一个整数放在c 中;合并的方式是:将a数的十位和个位数依次放在c数的千位和十
根据题目条件,我们可以将1/A^2 1/B^2=1/C^2 转化为 A^2 + B^2 = C^2。
接下来,我们可以用三重循环来枚举A、B、C的值,由于A>B>C,我们可以在循环中设置适当的条件来保证这一点。
对于每组满足条件的A、B、C,我们输出它们的值即可。
以下是用C语言表示的程序:
```
#include <stdio.h>
int main() {
int a, b, c, count = 0;
for (a = 100; a <= 200; a++) {
for (b = a-1; b >= 100; b--) {
for (c = b-1; c >= 100; c--) {
if (a*a == b*b + c*c) {
printf("%d: %d %d %d\n", ++count, a, b, c);
}
}
}
}
printf("共有%d组倒勾股数\n", count);
return 0;
}
```
该程序先枚举A的值,再从大到小枚举B的值,从大到小枚举C的值,然后判断是否满足A^2 + B^2 = C^2的关系,如果满足,则输出它们的值,并计数器加1。最后输出满足条件的组数。
阅读全文