21xrx.com
2025-03-30 02:48:54 Sunday
文章检索 我的文章 写文章
C++程序:判断一个数是否是完数
2023-07-07 05:37:36 深夜i     56     0
C++ 完数 判断

在数学中,完数是指一个数恰好等于其所有因子(除本身以外)之和的数字。比如,6是一个完数,因为6的因子是1、2、3,而1+2+3=6。那么在C++语言中,如何判断一个数是否是完数呢?

首先,我们需要明确一个概念——因子。因子指的是能够整除一个数的数。例如,6的因子就是1、2、3和6本身。因此,我们可以使用一个循环语句来遍历一个数的所有因子,并将它们的和累加起来,然后再判断这个和是否等于这个数本身。

下面是完数的判定程序的代码实现:

#include <iostream>
using namespace std;
int main()
{
  int num, sum = 0;
  cout << "请输入一个正整数:" << endl;
  cin >> num;
  for (int i = 1; i < num; i++)
  {
    if (num % i == 0)
    {
      sum += i;
    }
  }
  if (sum == num)
  
    cout << num << "是完数。" << endl;
  
  else
  
    cout << num << "不是完数。" << endl;
  
  return 0;
}

以上代码首先要求用户输入一个正整数,然后使用循环语句遍历该数的所有因子,并将它们的和累加到变量sum中。如果最终sum的值等于该数本身,就说明这个数是完数,否则不是完数。

通过以上代码,我们可以用C++语言判断一个数是否是完数。这种算法虽然简单,但其实也是非常实用的,特别是在计算机系统中,它可以被广泛应用到各种算法设计中。

  
  

评论区

请求出错了