用C语言编写程序:输出200以内的完全平方数C(满足C*C=A*A+B*B)及其个数
时间: 2024-10-18 12:12:16 浏览: 40
在C语言中,要编写一个程序来找出200以内所有完全平方数,同时满足条件 `C * C = A * A + B * B`,即查找形如 `A^2 + B^2 = C^2` 的整数对。这实际上是一个勾股数的问题,可以采用循环遍历的方式来解决。以下是简单的代码示例:
```c
#include <stdio.h>
#include <math.h>
int countPythagoreanTriplets(int limit) {
int count = 0;
for (int a = 1; a <= limit; a++) {
for (int b = a; b <= limit; b++) {
int c = sqrt(a * a + b * b);
if (c * c == a * a + b * b && c > b && c <= limit) {
count++;
printf("%d^2 + %d^2 = %d^2\n", a, b, c);
}
}
}
return count;
}
int main() {
int limit = 200;
printf("Number of Pythagorean triplets with sides less than or equal to %d: %d\n", limit, countPythagoreanTriplets(limit));
return 0;
}
```
这个程序首先计算两个较小数(a 和 b)的平方和,并检查结果是否等于另一个较大数(c)的平方。如果满足条件,则增加计数并打印这个三元组。最后,它返回小于等于给定限制的完全平方数对的数量。
阅读全文