用C++编写输入直角三角形的斜边n,输出斜边长度小于等于此长度的所有直角三角形的个数
时间: 2024-12-12 16:33:02 浏览: 72
在C++中,你可以通过欧几里得算法来解决这个问题。首先,你需要让用户输入直角三角形的最大斜边长度`n`,然后遍历所有可能的两个较小边长`a`和`b`,计算它们的平方和`c^2 = a^2 + b^2`,如果结果小于等于`n`,那么这个组合就构成了一个符合条件的直角三角形。
以下是基本的伪代码步骤:
1. 定义一个函数,接受最大斜边长度作为参数。
2. 初始化计数器`count`为0。
3. 使用两层循环,外层循环`i`从1到`n`,内层循环`j`从`i+1`到`n`。
4. 计算当前斜边`c = i*j`的平方。
5. 如果`c`小于等于`n`,则增加计数器`count`。
6. 结束内层循环并继续外层循环。
7. 返回计数器`count`,它就是斜边长度小于等于`n`的所有直角三角形的个数。
```cpp
#include <iostream>
int countPythagoreanTriplets(int n) {
int count = 0;
for (int i = 1; i <= n; ++i) {
for (int j = i + 1; j <= n; ++j) {
int c = i * i + j * j;
if (c <= n) {
++count;
}
}
}
return count;
}
int main() {
int max_side_length;
std::cout << "请输入直角三角形的最大斜边长度: ";
std::cin >> max_side_length;
int result = countPythagoreanTriplets(max_side_length);
std::cout << "斜边长度小于等于" << max_side_length << "的所有直角三角形有:" << result << "个.\n";
return 0;
}
```
阅读全文
相关推荐
















