遍历输出即可,t记录因子个数,每次i%t==0说明是完数。
#include<stdio.h>
void main()
{
int i,n=0,t,j;
for(i=100; i<=200; i++)
{
t=0;
for(j=1; j<=i; j++)
if(i%j==0)
t++;
if(i%t==0){
n++;
printf("%d ",i);
}
}
printf("\n%d",n);
}