完数取值影响
[code=C/C++][/code]#include <stdio.h>
int main()
{
int a,i,s,n;
int k[5]; 这里取值影响是怎么回事,如果取K[11]和K[33]或K[22]会影响结果
for(a=2;a<=10000;a++)
{
s=a;
n=0;
for(i=1;i<a;i++)
{
if(a%i==0)
{
s=s-i;
k[n]=i;
n++;
}
}
//printf("\n%d\t个数为%d",a,n);
if(s==0)
{
printf("\n%d is a 完数。",a);
printf("its factors are:");
for(i=0;i<n;i++)
printf("%d ",k[i]);
printf("\t个数为%d",n);
}
}
printf("\n");
getchar();
return 0;
}
[解决办法]