21xrx.com
2024-12-22 20:39:06 Sunday
登录
文章检索 我的文章 写文章
C++查找1000以内的完全数
2023-07-05 18:46:50 深夜i     --     --
C++ 查找 1000 完全数

完全数是指一个数恰好等于它的因子之和,例如,6的因子为1、2、3,而1+2+3=6,因此6是一个完全数。在C++中,我们可以通过一些简单的代码来查找1000以内的所有完全数。

首先,我们声明一个函数来计算一个数的因子之和。这个函数将接受一个整数作为参数,并返回其因子之和。以下是这个函数的代码:


int getFactorSum(int num) {

  int sum = 0;

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

    if (num % i == 0) {

      sum += i;

    }

  }

  return sum;

}

接下来,我们使用一个循环来遍历1000以内的所有数,并检查它是否是一个完全数。如果是,则将其打印出来。以下是这个代码的完整实现:


#include <iostream>

using namespace std;

int getFactorSum(int num) {

  int sum = 0;

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

    if (num % i == 0) {

      sum += i;

    }

  }

  return sum;

}

int main() {

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

    int factorSum = getFactorSum(i);

    if (factorSum == i)

      cout << i << " is a perfect number." << endl;

    

  }

  return 0;

}

在这个代码中,我们遍历从1到1000的所有数,并对每个数计算其因子之和。如果因子之和等于该数本身,则它是一个完全数,将打印出来。运行代码,我们可以得到如下输出:


6 is a perfect number.

28 is a perfect number.

496 is a perfect number.

因此,我们成功地查找了1000以内的所有完全数:6、28和496。这个简单的代码向我们展示了在C++中查找完全数的方法。

  
  

评论区

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