21xrx.com
2025-03-31 16:16:07 Monday
文章检索 我的文章 写文章
C++编写完全数判断代码
2023-07-07 17:04:10 深夜i     13     0
C++ 完全数 判断代码

C++是一种高级编程语言,许多程序员都会选择使用它进行开发。其中,判断一个数是否为完全数就是一个常见的问题。完全数是指一个正整数等于除它本身外其他所有因子之和的数,比如6就是完全数,其因子是1、2、3,而1+2+3=6。

下面我们就来演示一下如何使用C++编写完全数判断代码。

首先,我们需要定义一个函数来计算一个数的因子和。下面是该函数的代码:

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

上述函数会遍历1到num-1之间的数字,判断它们是否是num的因子,如果是就将它们加入到sum变量中,最后返回sum。

接下来,我们可以写一个函数来判断一个数是否为完全数,代码如下:

bool is_perfect_number(int num)
{
  return sum_of_factors(num) == num;
}

这个函数比较简单,只需要调用sum_of_factors函数,将结果与num比较即可。

最后,我们可以在主函数中调用is_perfect_number函数来判断一个数是否为完全数。完整代码如下:

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

我们可以输入一个数,程序会输出该数是否为完全数。经过测试,上述代码是可行的,可以帮助我们判断一个数是否为完全数。

  
  
下一篇: C++指针总结

评论区