完数:一个数恰好等于不包括自身的所有不同因子之和。如6=1+2+3。
输入:每一行含有一个整数n。
输出:对每个整数n,输出所有不大于n的完数。输出格式为:整数n,冒号,空格,完数,空格,完数,空格...
输入样例:
100
5000
输出样例
100: 6 28
5000: 6 28 496
#include<iostream>
#include<fstream>
using namespace std;int main(){ifstream cin("data.txt");int limit = 0;while(cin >> limit){cout << limit << ": ";for (int i = 2; i <= limit; ++i){int sum = 0;for(int j = 1; j <= i/2; ++j){if (i % j == 0)sum += j;}if (sum == i)cout << i << " ";}cout << endl;}return 0;
}