您的位置:首页 > 其它

完数:求1000以内所有完数

2017-08-30 14:10 477 查看
题目:   
     一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如: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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: