zoukankan      html  css  js  c++  java
  • 【编程小题目8】求解完数

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

     分析:本质还是求质因数。

    #include <iostream>

    using namespace std;

    bool IsPerfect(int n)
    {
      int i, j = 0;
      int Temp = n,Sum = 1;
      int arr[100] = {'0'};

      for(i = 2; i <= n; i++)
      {
        if(i == n)
        {
          arr[j++] = i;
        }
        else
        {
          while (n % i == 0)
          {
            arr[j++] = i;
            n = n / i;
          }
        }
      }
      for(i = 0; arr[i] != 0; i++)
      {
        Sum += arr[i];
      }

      if(Temp == Sum)
      {
        return true;
      }
      else
      {
        return false;
      }

    }

    int main()
    {
      const int n = 100;

      for(int i = 1; i <= n; i++)
      {
        if(IsPerfect(i))
        {
          cout << i;
          if(i % 5 == 0)
          {
            cout << endl;
          }
        }
      }
      cout << endl;

      return 0;
    }

  • 相关阅读:
    第四次作业
    团队编程第三次博客
    团队编程2
    团队编程
    ARM寄存器总结:
    proc介绍及问题分析
    Ubuntu连接手机步骤
    Bluetooth(android 4.2.2版本)
    Android Bluetooth 总结
    android代码常识
  • 原文地址:https://www.cnblogs.com/FoxShark/p/4441747.html
Copyright © 2011-2022 走看看