INOC产品部--完全数计算(HJ56)
一:解题思路
二:完整代码示例 (C++版和Java版)
C++代码:
#include <iostream> #include <vector> #include <numeric> #include <algorithm> using namespace std; int count(int n) { int counts = 0; for (int m = 2; m < n; m++) { vector<int> vec = {}; int sum = 0; for (int i = 1; i < m; i++) { if (m%i == 0) { vec.push_back(i); } } sum = accumulate(vec.begin(),vec.end(),0); if (sum == m) counts++; } return counts; } int main() { int n = 0; while (cin >> n) { cout << count(n) << endl; } return 0; }

浙公网安备 33010602011771号