1000之内的完数

如,6的因子为1,2,3,而6=1+2+3

#include <stdio.h>
int main()
{
    int m,s,i;
    //s=0;不能在此处为s赋初值,因为for循环执行的每一次都要求s为0
    for(m=2;m<1000;m++)
    {
        s=0;//
        for(i=1;i<m;i++)
        
            if(m%i==0) 
            {
                s=s+i;
            }

            if(s==m)
            {            
                printf("%d its factors are ",m);
                for(i=1;i<m;i++)
                if(m%i==0) printf("%d ",i);
                printf("\n");
            }        
    }            
    return 0;
}

 

posted @ 2018-11-18 19:55  勤奋的园  阅读(235)  评论(0编辑  收藏  举报