21xrx.com
2024-09-20 00:34:19 Friday
登录
文章检索 我的文章 写文章
C++编写完全数判断代码
2023-07-07 17:04:10 深夜i     --     --
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++指针总结

评论区

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