一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6 = 1 + 2 + 3,因此6是“完数”。编程序找出1000之内的所有完数,并按下面格式输出其中因子:
6 its factors are 1,2,3
C语言代码:
# include <stdio.h>
int main()
{
int x, i, s;
//第8行-第17行 用来判断0~1000的数x是否为 “合数”
for(x=2; x<1000; x++) //第8行
{
s = 0;
for(i=1; i<x; i++)
{
if((x%i) == 0)
{
s = s + i; //s用来计算完数个因子之和
}
} //第17行
if(s == x)
{
printf("%d its factors are ",x);
for(i=1; i<x; i++)
{
if((x%i) == 0)
{
printf("%d ",i); //输出合数的因子
}
}
printf("\n");
}
}
return 0;
}
运行结果: