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;
    }

  • 相关阅读:
    Java项目远程调试
    Linux虚拟机安装
    研究Quarkus出现的各种错误集锦
    debian 安装 ifconfig ping
    adb shell pm list packages 高级用法
    2020年深港澳金融科技师专才计划一级考试报名简章
    k8s组件
    查询Kubernetes中etcd数据
    curl
    kubelet
  • 原文地址:https://www.cnblogs.com/FoxShark/p/4441747.html
Copyright © 2011-2022 走看看