5.9完数

//C程序设计第四版(谭浩强)
//章节:第五章 循环结构程序设计 
//题号:5.9
//题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。
//例如:6的因子为1,2,3,而6=1+2+3,因此6是完数。编程序找出1000内的所有完数,并按下面格式输出其因子 
//6 its factors are 1,2,3
#include <stdio.h>
int main()
{
	int i,j,sum;
	for(i=1;i<=1000;i++)
	{
		sum=0;
		for(j=1;j<i;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%c",j,(j==i/2)?' ':',');//难点:去除最后一个因子后面的逗号。 
			}
			printf("\n");
		}
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_44589540/article/details/86591961
5.9