完数:求1000以内所有完数

来源:互联网 发布:淘宝蜜妃儿女模特是谁 编辑:程序博客网 时间:2024/06/12 23:33


题目:   

     一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如:6=1+2+3.编程找出1000以内的所有完数。


#include <stdio.h>

void main()

{

       intx,temp,sum;//X表示要判断的数,temp表示数的因子,sum表示因子之和.

       for(x=1;x<1000;x++)

       {

              sum= 0;

              for(temp=1;temp<x;temp++)

              {

                     //判断x能否被temp整除,如果可以,则是因子,进行求和

                     if(x%temp==0)

                     {

                            sum= sum+temp;

                     }

              }

              //如果是完数,打印输出

              if(sum==x)

              {

                     printf("%d  ",x);

              }

       }

       printf("\n");

}

找出200以内的完数。

#include<stdio.h>

int main(void)

{

    int i,j,s=1;

 

    for(i=1;i<=200;i++)

    {

        s=1;

        for(j=2;j<=i/2;j++)

        {

            if(i%j==0)

                s=s+j;

        }

        if(s==i)

        {

            printf("%d=1",i);

            for(j=2;j<=i/2;j++)

                if(i%j==0) printf("+%d",j);

            printf("\n");

        }

 

    }

    return 0;

}

原创粉丝点击