2006
08-02

:一个数如果等于它的因子之和,这个数称为”完数”.例如,6的因子为1,2,3,而6=1+2+3.因此6为完数.编程序找出1000之内的所有完数,并按下列格式输出:

6 its factors are 1,2,3


多谢帮助,急待回复!!!!!!!!!!


题目》有 5 条评论

  1. ningweidong 说:

    #include <iostream.h>
    int arr[256];//存放因数的一个数组,其实不用那么大.

    //判断是否为完数的函数

    void isComplete(int n)
    {
         arr[0] = 0;//数组第一个元素用来累加和,每次使用前要置0.
         int i = 0;
         int j = 0;//两个循环变量
         int count = 0;//统计有几个因数
     
         for (i=1; i<=n/2; i++)
         {
              for (j=1; j<=n; j++)
               {
                    if (i*j == n)
                     {
                         count++;
                         arr[count] = i;
                    }
               }
         }

         for (i=1; i<=count; i++)
         {
              arr[0] += arr[i];
         }
     
         if (arr[0] == n)
         {
               cout << n << ” it’s factors are “;
     
               for (i=1; i<=count; i++)
              {
                    cout << arr[i] <<”;”;
               }
              cout  << endl;
         }
         else
         {
               return;
         }
    }

    void main()
    {
     
         for (int x=1; x<=1000; x++)
         {
              isComplete(x); 
         }
    }

  2. ningweidong 说:

    写得匆忙,没仔细检查.

  3. VC爱好者 说:

    ningweidong兄弟就是强。希望大家多多向他学习。C语言帝国要是多来点这类朋友。发展才有意义啊。。

  4. nacrompol 说:

    :真是多谢!!!

    请问iostream.h是什么函数,为什么我的计算机没法打开?????

  5. ningweidong 说:

    我是用C++写的,如果用C编译的话,去掉那个头文件,把cout都换成printf。

留下一个回复