请帮我写一段c++代码,功能要求为:找出2~10000之内的所有完全数。所谓完全数,即其各因子之和正好等于本身的数。如 6=1+2+3,28=1+2+4+7+14,所以6,28都是完全数。
时间: 2024-05-01 21:22:05 浏览: 158
好的,以下是C++代码实现:
```c++
#include <iostream>
using namespace std;
int main()
{
int sum;
for (int i = 2; i <= 10000; i++) {
sum = 1;
for (int j = 2; j < i; j++) {
if (i % j == 0)
sum += j;
}
if (sum == i)
cout << i << " ";
}
return 0;
}
```
运行结果:
```
6 28 496 8128
```
其中,外层循环枚举2~10000之间的整数,内层循环计算每个数的各因子之和,如果各因子之和等于该数本身,则输出该数。
阅读全文