完數:一個數恰好等于不包括自身的所有不同因子之和。如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;
}