程序错误出在哪里??
题目是求1到1000的完数,完数是一个数的平方等于他因子的和。如6的因子是1,2,3,6=1+2+3,所以6是完数
编程序如下:
#include<stdio.h>
void main()
{
int a,b,i,s=0;
for(a=2;a<=1000;a++)
{
for(i=1;i<a;i++)
{
b=a%i;
if(b==0) s=s+i;
}
if(s==a)
{printf("%d its factors are",a);
for(i=1;i<a;i++)
if(b==0) printf("%d ",i);
printf("\n");
}
}
}