一个数如果恰好等于它的因子之和,这个数就称为“完数”。编程找出n之内的所有完数。

例如:6的因子为1、2、3,而6=1+2+3,因此6是“完数”。

#include<stdio.h>

int i,sum=0,n;
int fun(int n)
{
    for (i=1;i<n;i++)
    {
        if(n%i==0)
            sum+=i;
    }                                
    if(sum==n)                            
        return 1;
    else 
        return 0;
}
int main()
{
    int j;
    scanf("%d",&n);
    for(j=1;j<=n;j++)
    {
        sum=0;
        if(fun(j))
            printf("%d是完数\n",j);
        else
        printf("%d不是完数\n",j);
    }
    
    return 0;
}

 

posted on 2013-05-08 14:52  Bonke  阅读(992)  评论(0编辑  收藏  举报

导航