21xrx.com
2024-11-22 07:31:01 Friday
登录
文章检索 我的文章 写文章
C++编写求完数的代码
2023-06-29 08:30:45 深夜i     --     --
C++ 完数 代码 编写

完数是指一个数的因子之和等于它本身的数,如6、28都是完数。在C++中,我们可以编写一个程序来求解完数。

首先,我们需要明确如何判断一个数是不是完数。我们可以通过遍历该数的所有因子,将这些因子的和与该数进行比较,如果相等,则说明这个数是完数。

接下来,我们可以编写一个函数来判断一个数是否是完数:

bool isPerfect(int num) {

  int sum = 0; // 保存因子之和

  for (int i = 1; i < num; i++) { // 遍历所有因子

    if (num % i == 0) { // 判断是否为因子

      sum += i; // 累加因子

    }

  }

  if (sum == num)  // 判断因子之和是否等于本身

    return true;

  return false;

}

该函数的参数为待判断的整数,返回值为bool类型。如果是完数,则返回true,否则返回false。

最后,我们可以在主函数中调用isPerfect函数,输出所有小于等于给定范围的完数。具体代码如下:

int main() {

  int n;

  cout << "请输入待找的完数范围n:";

  cin >> n;

  cout << "小于等于" << n << "的完数有:";

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

    if (isPerfect(i))

      cout << i << " ";

  }

  return 0;

}

在这段代码中,我们首先获取用户输入的待找的完数范围n,然后遍历所有小于等于n的整数,并调用isPerfect函数来判断是否为完数。如果是,则输出该数。

通过以上代码,我们可以很方便地找出小于等于给定范围的完数。

  
  

评论区

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