读书人

为何不能输出1000以内的完数啊求大家改

发布时间: 2013-01-02 13:08:45 作者: rapoo

为什么不能输出1000以内的完数啊???求大家改错
#include<stdio.h>

int main()
{
int i, j, k, n,sum, a[100];

for(i = 2; i <= 1000; i++)
{
n = -1;
sum = 0;
for(j = 1; j < i; j++)
{
if(i % j == 0)
{
n++;
a[n] = j;
sum = sum + j;
}
}
if(sum == i)
{
printf("%d its factors are ",sum);
for(k = 0; k <=n; k++)
printf("%d,", a[k]);
}
}

return 0;
}

[解决办法]
我这里没有问题啊,三个完数都很正常
不知道你的问题具体是什么
[解决办法]
楼主的代码没问题啊:
6 its factors are:1,2,3,
28 its factors are:1,2,4,7,14,
496 its factors are:1,2,4,8,16,31,62,124,248
[解决办法]
的确,代码没错!!

读书人网 >C语言

热点推荐