21xrx.com
2024-12-23 01:41:51 Monday
登录
文章检索 我的文章 写文章
C++语言实现亲和数
2023-07-02 15:44:08 深夜i     --     --
C++语言 实现 亲和数

亲和数是指两个数中,其中一个数的所有因子(除了其本身)之和正好等于另一个数本身,并且另一个数的所有因子之和也正好等于第一个数本身。例如,220和284是亲和数。

在C++语言中,我们可以通过编写一个函数来检查两个数是否是亲和数。实现亲和数的基本思路是先计算出一个数的所有因子之和,然后再判断这个和是否等于另一个数本身。我们可以编写以下代码来实现:


#include <iostream>

using namespace std;

int sumFactor(int n) {

  int sum = 0;

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

    if (n % i == 0) {

      sum += i;

    }

  }

  return sum;

}

bool isAmicable(int a, int b) {

  if (sumFactor(a) == b && sumFactor(b) == a)

    return true;

   else

    return false;

  

}

int main() {

  int num1, num2;

  cout << "Enter two numbers: ";

  cin >> num1 >> num2;

  

  if (isAmicable(num1, num2))

    cout << num1 << " and " << num2 << " are amicable numbers." << endl;

   else

    cout << num1 << " and " << num2 << " are not amicable numbers." << endl;

  

  

  return 0;

}

在这个程序中,首先定义了一个`sumFactor()`函数,用于计算一个数的所有因子之和。具体方法是使用一个for循环,从1到n/2遍历所有可能的因子,如果找到一个因子,就将它加到sum变量中。

接下来,定义一个`isAmicable()`函数,用于判断两个数是否是亲和数。在这个函数中,使用`sumFactor()`函数分别计算两个数的因子之和,然后进行比较。如果两个和值相等,则返回`true`,表示这两个数是亲和数,否则返回`false`,表示它们不是亲和数。

最后,在`main()`函数中,让用户输入两个数字,并调用`isAmicable()`函数进行判断。如果返回结果为`true`,则输出这两个数是亲和数,否则输出它们不是亲和数。

在实现了这个程序之后,我们就可以方便地判断两个数是否是亲和数。这个程序可以用于数学研究、数学教学、以及编写其他应用程序等方面。

  
  

评论区

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