完数求解???????????????

  1. 已知24有8个正整数因子(即:1,2,3,4,6,8,12,24),而24正好能被其因子数8整除,求正整数[100,200]之间有多少个正整数能被其因子的个数整除,并显示这些正整数。

遍历输出即可,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);
}