#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入一个正整数n:";
cin >> n;
cout << "1到" << n << "范围内的完数有:";
for (int i = 2; i <= n; ++i) {
int sum = 1; // 因子1一定是每个数的因子
for (int j = 2; j <= i / 2; ++j) {
if (i % j == 0) {
sum += j;
}
}
if (sum == i) {
cout << i << " ";
}
}
cout << endl;
return 0;
}
输出1000以内的完数。一个数如果恰好等于它的因子之和,这个数就称为完数。例如,6的因子为1、2、3,而1+2+3=6,所以6是一个完数。
于 2024-03-16 09:46:06 首次发布