上代码:
#include <stdio.h>
int main()
{
int m,i,s; //大于2的整数,循环控制变量,因子之和。
for(m=2;m<1000;m++)
{
s=0;
for(i=1;i<m;i++) //对任意整数m可能的因子范围。
if(m%i==0) s=s+i; //判断出因子后加入容器。
if(s==m) //判断出一个完数
{
printf("%d是完数,因子为:",m);
for(i=1;i<m;i++) //打印某一个完数的全部因子,作为一个完数里的内嵌循环。
if(m%i==0) printf(" %d",i);
printf("\n");
}
}
return 0;
}