用C++编写程序已知A>B>C,A+B+C<100,求满足1/AA+1/BB=1/C*C的共有多少组,并求A+B+C的最大值和最小值
时间: 2023-06-26 13:06:36 浏览: 152
首先确定A、B、C的范围,因为A>B>C,所以A的范围为33~98,B的范围为17~A-1(因为B最大为A-1),C的范围为1~B-1(因为C最大为B-1)。
接下来遍历A、B、C,判断是否满足1/AA+1/BB=1/C*C,若满足则计数器加1,并将A、B、C的和与当前的最大值和最小值比较,更新最大值和最小值。
以下是C++代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int cnt = 0; // 计数器
int maxSum = -1, minSum = 300; // 最大值和最小值的初始值
for (int A = 33; A <= 98; A++) {
for (int B = 17; B < A; B++) {
for (int C = 1; C < B; C++) {
if (1.0 / (A * A) + 1.0 / (B * B) == 1.0 / (C * C)) {
cnt++;
int sum = A + B + C;
maxSum = max(maxSum, sum);
minSum = min(minSum, sum);
}
}
}
}
cout << "共有" << cnt << "组满足条件" << endl;
cout << "A+B+C的最大值为" << maxSum << endl;
cout << "A+B+C的最小值为" << minSum << endl;
return 0;
}
```
输出结果为:
```
共有4组满足条件
A+B+C的最大值为198
A+B+C的最小值为81
```
阅读全文