/* 编写程序求1000之内的所有完数。一个数如果恰好等于它的因子之和,这个数就成为完数,如6= 1+2+3 */
int main(int argc, char *argv[]) {
int number,sum=0,n;
for(number=1;number<=1000;number++)
{
for(n=1;n<number;n++)
{
if(number%n==0)
{
sum=sum+n;
if(sum==number)
{
printf("number=%d\n",number);
break;
}
}
}
}
return 0;
}
#include <stdio.h>
int main(int argc, char *argv[])
{
int number,sum=0,n;
for(number=1;number<=1000;number++)
{
sum=0;//每次初始化sum很重要!
for(n=1;n<number;n++)
档岩漏 { 行烂
if(number%n==0)
{
sum=sum+n;
}
}
if(sum==number) //得到所有的因数和之后再检查!
{
printf("number=%d\n",number);
}
枣郑 }
return 0;
}