21xrx.com
2025-03-26 20:24:02 Wednesday
文章检索 我的文章 写文章
C++编程实现求1000以内的完数
2023-06-24 02:04:21 深夜i     21     0
C++ 编程 完数 1000以内

完全数是指一个数恰好等于其所有因子(除本身外)之和,例如6是完全数,因为6=1+2+3。那么如何在C++中编写程序来找出1000以内的完数呢?

首先,我们需要一个函数来判断一个数是否为完全数。该函数的方式是:遍历1到该数的所有因子,累加它们的和,如果和等于该数本身,则该数为完全数。以下是这个函数的代码:

bool isPerfectNumber(int num) {
  int sum = 0;
  for (int i = 1; i < num; i++) {
    if (num % i == 0) {
      sum += i;
    }
  }
  return sum == num;
}

现在,我们可以编写另一个函数来打印1000以内的完全数。该函数从1到1000遍历所有数字,并使用上述函数来判断它们是否为完全数。如果是,就将它们打印出来。以下是这个函数的代码:

void printPerfectNumbers() {
  for (int i = 1; i <= 1000; i++) {
    if (isPerfectNumber(i))
      cout << i << " ";
    
  }
  cout << endl;
}

最后,在主函数中调用上述函数即可找到1000以内的完全数:

int main() {
  printPerfectNumbers();
  return 0;
}

运行输出结果为:

6 28 496

这就是1000以内的所有完全数。

以上便是在C++中编程实现求1000以内的完数的方法。这个程序可以通过函数的结构和简单的for循环来帮助我们解决任务。同时,这个问题也可以通过其他编程语言来实现,如Java、Python等。

  
  

评论区