用c++编程,如果一个整数恰好等于它的所有因子之和,则这个数称为完数。例如, 6=1+2+3所以 6为完数。求1000之内的所有完数。
时间: 2024-09-18 21:05:37 浏览: 43
找出1000以内所有完数并显示
5星 · 资源好评率100%
在 C++ 中,我们可以编写一个程序来找出1000范围内的所有完数。完数的概念可以利用循环和条件判断来实现。下面是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
bool isPerfectNumber(int num) {
int sum = 0;
for (int i = 1; i <= num / 2; ++i) {
if (num % i == 0) { // 如果i能整除num
sum += i; // 将i加到sum上
}
}
return sum == num; // 检查sum是否等于num
}
int main() {
cout << "完美数在1到1000之间的有:\n";
for (int i = 1; i <= 1000; ++i) {
if (isPerfectNumber(i)) {
cout << i << " ";
}
}
cout << endl;
return 0;
}
```
在这个代码中,`isPerfectNumber` 函数用于检查一个数是否是完数,它遍历从1到该数的一半的所有数字,看它们是否是给定数的因子,然后将因子累加起来。如果最后的结果等于原数,则认为它是完数。
阅读全文