//*作者:冰糖
//*日期:2018年11月7日
//*章节:第五章
//*题号:9
//*题目:6的因子为1,2,3而6=1+2+3,所以6是完数。输个数如果恰好等于他的因子之和,这个数就是完数。如出1000之内所有完数,并按下面格式输出其因子:
//6 its factors are 1,2,3,
#include <stdio.h>
int main()
{
int n,temp,sum; /*n表示要判断的数,temp表示因子,sum表示因子之和*/
for(n=1;n<1000;n++)
{
sum= 0;
for(temp=1;temp<n;temp++)
{
if(n%temp==0) /*判断n能否被temp整除,能的话temp即为因子*/
{
sum=sum+temp; /*求因子之和*/
}
}
if(sum==n) /*判断此数是否等于因子之和*/
{
printf("%d its factors are ",n);
for(temp=1;temp<n;++temp)
{
if(n%temp==0)
{
printf("%d,",temp);
}
}
printf("\n");
}
}
return 0;
}
C语言程序设计第四版(谭浩强)5.9 输出1000之内所有完数 6的因子为1,2,3而6=1+2+3,所以6是完数。输个数如果恰好等于他的因子之和,这个数就是完数。
最新推荐文章于 2022-12-30 21:53:07 发布