如何求(0~1000)的完数?
要是我写只能用两个循环数越大,计算次数越多!有没有什么简单的算法!for(i=2;i<1000;i++)
for(j=1;j<=i/2+1;j++)
呵呵,刚觉好麻烦!!!
2012-03-17 09:42
2012-03-17 10:44
完数
2012-03-17 11:02
2012-03-17 11:22
2012-03-17 11:24
程序代码:# 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;
}
2012-03-17 16:19
2012-03-17 16:22