21xrx.com
2024-12-23 01:27:32 Monday
登录
文章检索 我的文章 写文章
C++程序:输出一到一百之间的完全数
2023-07-07 12:17:43 深夜i     --     --
C++ 输出 一到一百 完全数

完全数是正整数中一类特殊的数,它的所有真因子(即除自身之外的其他因子)之和都等于它本身。举个例子,6是完全数,因为1+2+3=6。

在这篇文章中,我们将使用C++编写一个程序来输出一到一百之间的所有完全数。我们将会使用循环和条件语句等基本概念来完成这个程序。

首先,我们可以写一个函数来计算一个数的所有真因子之和。该函数将采用一个整数作为参数,并返回这个数所有真因子之和的值。以下是这个函数的代码:


int sum_of_divisors(int number) {

  int sum = 0;

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

    if (number % i == 0) {

      sum += i;

    }

  }

  return sum;

}

现在,我们可以编写一个循环来遍历一到一百之间的所有整数。对于每个整数,我们将计算其所有真因子之和,并检查它是否等于该数本身。如果是,那么这个数就是一个完全数,我们将把它输出到屏幕上。

以下是完整的程序代码:


#include <iostream>

int sum_of_divisors(int number);

int main() {

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

    if (i == sum_of_divisors(i))

      std::cout << i << std::endl;

    

  }

  return 0;

}

int sum_of_divisors(int number) {

  int sum = 0;

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

    if (number % i == 0) {

      sum += i;

    }

  }

  return sum;

}

运行该程序后,我们将会得到以下输出:


6

28

这表明在一到一百之间,只有两个完全数,它们分别是6和28。

这个程序虽然简单,但它使用了基本的控制结构和函数来完成一项任务。通过学习这个程序的代码和运行结果,我们可以更好地理解C++的语法和编程技巧。

  
  

评论区

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