【题目描述】
输出X以内所有的完数,并输出其所有的因子。所谓完数,是指小于自身的所有因子之和恰好等于其本身。例如,6是一个完数,因为1+2+3=6。
从键盘输入X,输出完数及其所有因子,输出的每个数字占5位。
【输入样例】
1000
【输出样例】
6
1 2 3
28
1 2 4 7 14
496
1 2 4 8 16 31 62 124 248
代码实现
#include <stdio.h>
int main()
{
int X,a=0,b=0,c,d,i;
scanf("%d",&X);
//printf("%d",X);
for(i=1;i<=X;i++)
{
for(c=1;c<i;c++)
{
if(i%c==0)
{
b=b+c;
}
}
if(b==i)
{
printf("%5d\n",b);
for(d=1;d<b;d++)
{
if(b%d==0)
printf("%5d",d);
}
printf("\n");
}
b=0;
}
return(0);
}