21xrx.com
2024-12-27 15:04:14 Friday
登录
文章检索 我的文章 写文章
C++编程实现求1000以内的完数
2023-06-24 02:04:21 深夜i     --     --
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等。

  
  

评论区

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