C语言:求1000以内所有的完数

//完数定义:
//一个数如果恰好等于它的因子之和,则这个数就是完数。例如6的因子为1,2,3,而
//6=1+2+3,因此6是“完数”。
# include 

int main (void)
{
	int i,j,sum;   //i存放的是数字,j是因子,sum是因子的和
	for(i=1;i<=1000;i++)
	{
		sum=0;                //sum为0
		for(j=1;j<i;j++)
		{
			if(i%j==0)		  //如果i是j的因子则i%j为0
				sum+=j;		  //则sum加上这个因子
		}
		if(sum==i)			  //如果i这个数值的因子相加等于i则输出
			printf("%d\n",i);
	}	

	return 0;
}

你可能感兴趣的:(C语言,c语言)