如何求(0~1000)的完数?
要是我写只能用两个循环数越大,计算次数越多!有没有什么简单的算法!for(i=2;i<1000;i++)
for(j=1;j<=i/2+1;j++)
呵呵,刚觉好麻烦!!!
# include <stdio.h> int main (void) { int w1, w2; int i , j, k, sum=0; printf("请输入一个范围:"); scanf ("%d %d", &w1, &w2); for (i= w1; i<=w2; ++i) { for (j=1; j<i; ++j) { if (i%j == 0) { sum = sum + j; } } if (sum == i) { printf("%d ", i); } sum = 0; } return 0; }