高级C++输出500以内所有完全平方数C(满足C2=A2+B2)及其个数。
时间: 2024-09-14 16:09:35 浏览: 65
输出n以内的所有素数 c语言:找出N以内的所有素数
在C++中,要输出500以内的所有完全平方数,我们可以使用嵌套循环来遍历所有可能的整数对。对于每一对整数A和B,我们可以计算C的值,并检查是否满足C的平方等于A的平方加上B的平方。如果满足,就输出这个三元组。以下是一个简单的实现代码:
```cpp
#include <iostream>
#include <cmath>
int main() {
int count = 0; // 用于计数满足条件的三元组个数
for (int a = 1; a <= sqrt(500); ++a) { // A的最大值为sqrt(500),因为A*A需要小于等于500
for (int b = a; b <= sqrt(500 - a * a); ++b) { // B从A开始是为了避免重复
int c = sqrt(a * a + b * b); // 计算C
if (c * c == a * a + b * b) { // 检查是否满足完全平方数的条件
std::cout << "A=" << a << ", B=" << b << ", C=" << c << std::endl;
++count; // 增加计数
}
}
}
std::cout << "总共有 " << count << " 组满足条件的完全平方数三元组。" << std::endl;
return 0;
}
```
这段代码会打印出所有满足条件的三元组,并在最后输出这样的三元组的个数。需要注意的是,为了避免重复输出,B的循环起始值设置为A,因为对于每一对A和B,C是确定的,所以没有必要反过来再找一遍。
阅读全文