习题5.9
C语言程序:求1000以内的完数并且并且按照以下格式输出因子: 6 its factors are 1,2,3
终于弄出来一个输出格式完全符合的啦
#include<stdio.h>
int main()
{
int i,j,k;
int sum=1;
printf("完数如下:");
for(j=6;j<1000;j++)
{
sum=1;//每次循环都要将sum赋值1
for(i=2;i<=j/2;i++)//这个需要小于j/2,而不是sqrt(j)
{
if(j%i==0)
sum=sum+i;
}
if(sum==j)
{
printf("\n%d its factors are:1",sum);
for(k=2;k<=j/2;k++)//这个需要小于j/2,而不是sqrt(sum)
{
if(sum%k==0)
printf(",%d",k);
}
}
}
printf("\n");
}