用C加加定义一个类NUM,完成以下功能:统计不大于n(n小于400)的所有满足下列条件的数x,要求x✖️x的每位数字互不相同,且x✖️x的低位数字小于或等于其高位数字
时间: 2024-02-18 15:02:51 浏览: 89
以下是定义类NUM并实现功能的示例代码:
```c++
#include <iostream>
using namespace std;
class NUM {
private:
int n;
public:
NUM(int num) {
n = num;
}
int count() {
int cnt = 0;
for (int i = 1; i * i <= n; i++) {
int sqr = i * i;
if (sqr % 10 == sqr / 100 && (sqr / 10) % 10 != sqr % 10) {
cnt++;
}
}
return cnt;
}
};
int main() {
int n;
cout << "请输入n的值:" << endl;
cin >> n;
NUM num(n);
cout << "满足条件的数的个数为:" << num.count() << endl;
return 0;
}
```
在类NUM中,我们定义了一个私有变量n,表示不大于n的范围。在构造函数中,我们将传入的参数num赋值给n。然后我们定义了一个公有成员函数count,用于统计满足条件的数的个数。
在count函数中,我们使用了一个for循环,从1开始枚举x,直到x的平方大于n为止。对于每个x,我们先计算x的平方sqr,然后判断sqr的个位和百位是否相等,十位和个位是否不相等,如果满足这个条件,就将计数器cnt加1。最后返回cnt即可。
在main函数中,我们首先提示用户输入n的值,然后创建一个NUM对象num,并将n传入其构造函数中。然后调用num的count函数,输出满足条件的数的个数。
阅读全文