21xrx.com
2024-11-22 06:31:50 Friday
登录
文章检索 我的文章 写文章
使用C++求完数及其因子
2023-07-02 02:09:03 深夜i     --     --
C++ 完数 因子

完数指一个正整数等于其所有因子之和的数,例如6就是一种完数,因为6的因子是1、2、3,而1+2+3=6。而计算完数和它的因子是编程中的一个经典问题,下面我们使用C++来实现这个功能。

C++提供了一种常用的计算完数的方法,我们可以通过遍历每一个正整数,找出它的所有因子并判断它们的和是否等于该数本身。代码实现如下:


#include <iostream>

using namespace std;

int main()

{

  int n;

  cout << "请输入正整数n: ";

  cin >> n;

  for (int i = 1; i <= n; i++) {

    int sum = 0;

    for (int j = 1; j <= i / 2; j++) {

      if (i % j == 0) {

        sum += j;

      }

    }

    if (sum == i) {

      cout << i << "是完数,它的因子为:";

      for (int j = 1; j <= i / 2; j++) {

        if (i % j == 0)

          cout << j << " ";

        

      }

      cout << endl;

    }

  }

  return 0;

}

以上代码首先要求用户输入一个正整数n,然后遍历从1到n的所有正整数,并找出它们的所有因子,然后判断因子的和是否等于该数本身。如果找到一个完数,就输出该完数以及其因子。在输出因子时,我们再次循环遍历该完数的所有因子并依次输出。

在程序运行时,我们可以输入任意一个正整数n,程序将在1到n的所有正整数中找出完数并输出它们的因子。举个例子,当我们输入n=28时,程序将输出:


6是完数,它的因子为:1 2 3

28是完数,它的因子为:1 2 4 7 14

以上就是使用C++编写计算完数及其因子的代码。通过这个例子,我们可以学习到C++的基础语法和循环结构,也可以提高我们的编程思维和实践能力。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复