题目
题目如下:计算1000之内所有完数,一个数等于它的因子之和,要求打印格式如右边所示:6=1+2+3
代码
#include<stdio.h>
int main()
{
for(int i=1;i<=1000;i++) //历遍1000以内的每一个数
{
int sum=0; //因数之和
for(int j=1;j<i;j++)
{
if(i%j==0) //判断j是否是i的因数
sum=sum+j;
}
if(i==sum) //判断因数之和是否等于i(即i是否是完数)
{
printf("完数有%d\n",i);
printf("%d=1",i);
for(int k=2;k<i;k++)
{
if(i%k==0)
printf("+%d",k);
}
printf("\n\n");
}
}
return 0;
}