21xrx.com
2024-12-22 23:51:10 Sunday
登录
文章检索 我的文章 写文章
C++程序:求完数及其因子
2023-07-12 03:27:54 深夜i     --     --
C++ 完数 因子

完数,又叫完全数或完美数,是指一个正整数等于它的因子之和,比如6的因子为1、2、3,而1+2+3=6,因此6就是一个完数。

如果想找出某个范围内的所有完数及其因子,可以使用C++编写程序来实现。以下是一个求解完数及其因子的程序实现过程:

1. 首先,定义一个函数来判断一个数是否是完数。这个函数需要先计算出这个数的所有因子之和,然后和这个数本身进行比较。如果它们相等,那么就是一个完数。否则,就不是完数。

2. 接下来,在主函数中输入要寻找的完数范围,利用循环语句逐一判断每个数是否为完数,如果是完数,就将这个数及其因子输出。

3. 最后,输出完成。

下面是程序实现代码:


#include <iostream>

using namespace std;

bool isPerfectNum(int num) //判断是否为完数

{

  int sum = 0;

  for(int i=1; i<num; i++)

  {

    if(num % i == 0)

    {

      sum += i;

    }

  }

  if(sum == num)

  

    return true;

  

  else

  

    return false;

  

}

int main()

{

  int low, high;

  cout << "请输入范围(两个整数):" << endl;

  cin >> low >> high;

  for(int i=low; i<=high; i++)

  {

    if(isPerfectNum(i))

    {

      cout << i << " = 1";

      for(int j=2; j<i; j++)

      {

        if(i % j == 0)

        {

          cout << " + " << j;

        }

      }

      cout << endl;

    }

  }

  return 0;

}

通过以上代码,我们就可以使用C++程序来寻找某一范围内的完数及其因子了。如果想要寻找更大的范围,可以使用更高效的算法来进行优化。

  
  

评论区

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