求取值范围内所有满足条件的x,使得x的每位数字的立方和与本身相等。 编程要求 具体要求如下 试建一个类DIF,完成求出某个范围内的所有满足条件具体要求如下的x,以及x的个数。 具体要求如下 (1)私有数据成员 int count:满足条件的x的个数。 int a[190]:存放满足要求的X int low,high:x的取值范围的下限和上限。 (2)公有成员函数
时间: 2024-02-22 19:57:17 浏览: 124
DIF(int l, int h): 构造函数,初始化low和high为l和h,count为0。
void calculate(): 计算满足条件的x并将其存入a数组中,同时更新count的值。
void print(): 输出a数组中存放的所有满足条件的x。
下面是一个可能的实现:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
class DIF {
private:
int count; // 满足条件的x的个数
int a[190]; // 存放满足要求的x
int low, high; // x的取值范围的下限和上限
public:
DIF(int l, int h) {
low = l;
high = h;
count = 0;
}
void calculate() {
for (int x = low; x <= high; x++) {
int sum = 0;
int temp = x;
while (temp > 0) {
int digit = temp % 10;
sum += pow(digit, 3);
temp /= 10;
}
if (sum == x) {
a[count++] = x;
}
}
}
void print() {
cout << "满足条件的x有 " << count << " 个,分别为:" << endl;
for (int i = 0; i < count; i++) {
cout << a[i] << " ";
}
cout << endl;
}
};
int main() {
DIF dif(100, 999);
dif.calculate();
dif.print();
return 0;
}
```
输出结果为:
```
满足条件的x有 4 个,分别为:
153 370 371 407
```
阅读全文