Description 编写程序,输入一个正整数M,输出[1,M]内的所有“完数”。每输出一个数(包括最后一个数)均以换行结束。所谓“完数”,是指一个数恰好等于它的因子值(因子不包括该数本身)之和。例如6是完数,因为6=1+2+3。 #include<iostream> using namespace std; int judge(int n) { int sum = 0, i; for (i = 1; i < n; i++) { if (n%i == 0) sum += i; } if (sum == i) return sum; else return 0; } int main() { int n; while (cin >> n) { int i; for (i = 1; i <= n; i++) { if (judge(i)) cout << i << endl; } } return 0; }