题解 | #完全数计算#
完全数计算
https://www.nowcoder.com/practice/7299c12e6abb437c87ad3e712383ff84
#include <cmath> #include <iostream> using namespace std; int main() { int max_n; while (cin >> max_n) { int count = 0; for (int n = 2; n <= max_n; ++n) { int sum = 1; for (int i = 2; i <= sqrt(n); ++i) { if (n % i == 0) { sum += i; int tmp = n / i; if (tmp != i) { sum += tmp; } } } if (sum == n) { ++count; } } cout << count << endl; } } // 64 位输出请用 printf("%lld")