????????简介:一个数如果恰好等于它的因子之和,这个数就称为完数,C语言编程找出1000之内的所有完数,并输出其因子。因子可以整除该数字的数,
如6的因子:1? 2? 3,6%1=0? ? ? 6%2=0? ? ? ?6%3=0
解释全在注释里:
代码如下:
#include <stdio.h>
//完数
int main()
{
int i=1;//从1到1000进行遍历开
for(i=1;i<=1000;i++)//外循环是需要判断的完数
{
int j=1,sum=0;
for(j=1;j<=i/2;j++)//内循环则判断该数的因子,从而进行因子相加。
{
if(i%j==0)//是因子,加进总和中
sum=sum+j;
}
if(sum==i)//判断‘完数 ’
{
printf("%d its factors are ",i);//因为还要指出因子都有谁,所以后面还要重新来个循环,进行因子的输出
for(j=1;j<=i/2;j++)
{
if(i%j==0) printf("%d ",j);
}
printf("\n");
}
}
}
运行结果: