打印1000以内的完数,完数指所有因子之和等于它本身的数。用C语言。

2020-09-28 科技 60阅读
// 本程序演示一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数
#include"stdio.h"
main()
{
int i,j,s,sum;
printf("完数:\n") ;
sum=0;
for(i=2;i<=1000;i++)
{ s=0; ;//此处s=0一定要加,因为前几次循环的时候s的值已经改变 。清零
for(j=1;j{
if(i%j==0)//这一块是如果能够整除,那么就是该数的因子,我们累加起来
{s+=j;
}
}
if(s==i) //因子的和与原数比较,如果正确就输出
{printf("%d\n",i);
sum++;
}
}
printf("完数的个数:%d\n",sum);
}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com