这个程序错在那?
问题如下:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如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); }第二个程序我无法找到错在那?但是却无法运行正确,请求高手指教!