#include using namespace std; const int N = 110; int sum[N]; int main() { int n = 10; for (int i = 1; i <= n; i++) // i是因数 for (int j = 2; j <= n / i; j++) // j代表i的放大倍数 n/i不会溢出 sum[i * j] += i; // i*j的约数和+i for (int i = 1; i <= n; i++) cout << sum[i] << " "; // 输出 // 0 1 1 3 1 6 1 7 4 8 // 本题要求:约数和小于本身,即sum[i]