输出1000以内的完全数的

img


输出1000以内的完全数的程序,哪里出错了,输出的结果好像是1000以内的奇数。

可参考:https://www.runoob.com/cprogramming/c-exercise-example19.html

供参考:

#include <stdio.h>
int main()
{
    int N = 1000, i, n, s;
    //scanf("%d", &N);
    for (n = 2; n <= N; n++)
    {
        for (i = 1, s = 0; i <= n / 2; i++)
        {
            if (n % i == 0)
            {
                s = s + i;
            }
        }
        if (s == n)
        {
            printf("%d: its factors are 1", n);
            for (i = 2; i <= n / 2; i++)
            {
                if (n % i == 0)
                    printf(" %d", i);
            }
            printf("\n");
        }
    }
    return 0;
}