求1000以内最大完数
一个数如果恰好等于它的真因子之和,这个数就称为“完数”。
例如:6的真因子为1、2、3,而6=1+2+3,因此6是“完数”。
#include<stdio.h>
void main()
{
int i,j,s=0,k=0;
for(i=1;i<=1000;i++)//外循环遍历1000以内的数
{
for(j=1;j<i;j++)//寻找真因子
if(i%j==0)
s+=j;
if(s==i)//满足完数条件
k=s;//存储最新(大)的完数
s=0;//给s重新赋值
}
printf("1000以内最大的完数是:%d\n",k);
}