21xrx.com
2024-12-23 01:41:34 Monday
登录
文章检索 我的文章 写文章
C++程序:列出完数
2023-07-04 17:39:43 深夜i     --     --
C++ 完数 列出

完数是指其所有的真因子(除了自身以外的所有因数)之和等于该数本身的正整数。在C++程序中,我们可以通过循环和条件语句来列出指定范围内的所有完数。

首先,我们需要定义一个函数来判断一个数是否为完数。该函数接受一个参数,即需要判断的数,返回一个布尔值,表示该数是否为完数。如下所示:


bool isPerfect(int num) {

  int sum = 0;

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

    if (num % i == 0) {

      sum += i;

    }

  }

  return sum == num;

}

在该函数中,我们用循环遍历1到n-1之间的所有因子,将这些因子的和保存在变量sum中,最后判断sum是否等于n,如果是,则返回true,表示该数为完数,否则返回false。

接下来,我们可以在主函数中通过循环调用该函数,列出一定范围内的所有完数。如下所示:


int main() {

  int start, end;

  cout << "请输入起始范围: ";

  cin >> start;

  cout << "请输入结束范围: ";

  cin >> end;

  cout << "完数有:";

  for (int i = start; i <= end; i++) {

    if (isPerfect(i))

      cout << " " << i;

    

  }

  cout << endl;

  return 0;

}

在该主函数中,我们首先接受用户输入的起始和结束范围,并通过循环从起始范围开始逐个判断是否为完数,如果是,则将该数输出。

综上所述,通过使用循环和条件语句,我们可以编写一个C++程序,列出指定范围内的所有完数。该程序可以帮助我们快速了解完数的概念,并查找指定范围内的完数。

  
  

评论区

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