用dev c++编写一个程序,输出2~1000之间的所有完全数。所谓完全数,是指这样的数,该数的各因子(除该数本身外)之和正好等于该数本身
时间: 2024-10-11 21:05:21 浏览: 52
在Dev C++中编写一个程序来找出2到1000之间的所有完全数,你可以按照下面的步骤操作:
首先,我们需要创建一个新的源文件(如`complete_numbers.cpp`),然后编写以下C++代码:
```cpp
#include <iostream>
using namespace std;
// 定义函数用于检查是否为完全数
bool isPerfectNumber(int num) {
int sum = 1; // 初始化因子和为1(因为1总是因子)
for (int i = 2; i * i <= num; ++i) { // 只需要检查到sqrt(num)
if (num % i == 0) {
sum += i;
if (i != num / i) { // 如果不是本身的平方,则加上另一个因子
sum += num / i;
}
}
}
return sum == num; // 返回如果因子和等于原数,那么它就是完全数
}
int main() {
cout << "2 to 1000之间的完全数有:" << endl;
for (int i = 2; i <= 1000; ++i) {
if (isPerfectNumber(i)) {
cout << i << " ";
}
}
cout << endl;
return 0;
}
```
这个程序定义了一个辅助函数`isPerfectNumber()`用于检查数字是否为完全数,然后在主函数`main()`中遍历从2到1000的整数,并打印出所有的完全数。
阅读全文