这个程序错在那?
问题如下:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。
就此我编写了如下程序:
程序代码:#include "stdio.h"
main()
{
int i,j,n=0,s=0;
for(j=2;j<1000;j++)
{
s=j;
for(i=1;i<j;i++)
{
if((j%i)==0)
s=s-i;
}
if(s==0)
{
n++;
printf("%d\n",j);
}
}
printf("%d\n",n);
}另外我还编写了一个但是无法运行正确,如下:
程序代码:#include "stdio.h"
main()
{
int i,j,n=0,s=0;
for(j=2;j<1000;j++)
{
for(i=1;i<j;i++)
{
if((j%i)==0)
s=s+i;
}
if(s==j)
{
n++;
printf("%d\n",j);
}
}
printf("%d\n",n);
}第二个程序我无法找到错在那?但是却无法运行正确,请求高手指教!








