21xrx.com
2024-12-27 20:19:00 Friday
登录
文章检索 我的文章 写文章
C++实现亲密数对判断
2023-07-02 03:13:41 深夜i     --     --
C++ 亲密数对 实现 判断 算法

亲密数对是指两个正整数中,彼此都是对方所有因数之和的数,例如220和284就是一对亲密数对。本文将介绍如何用C++语言判断亲密数对。

首先,需要编写一个函数用于计算某个正整数的所有因数之和,如下所示:


int sumFactor(int n) {

  int sum = 0;

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

    if (n % i == 0) {

      sum += i;

    }

  }

  return sum;

}

该函数采用循环的方式计算n的所有因数之和,并返回这个和。

接下来,需要编写一个函数用于判断两个正整数是否为亲密数对,如下所示:


bool isAmicable(int a, int b) {

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

    return true;

  

  return false;

}

该函数先分别计算a和b的所有因数之和,如果a的因数之和等于b且b的因数之和等于a,并且a不等于b,就说明a和b是一对亲密数对,返回true,否则返回false。

最后,在主函数中调用isAmicable函数判断两个正整数是否为亲密数对,如下所示:


int main() {

  int a, b;

  cin >> a >> b;

  if (isAmicable(a, b))

    cout << "Yes" << endl;

   else

    cout << "No" << endl;

  

  return 0;

}

该程序先从标准输入读入两个正整数a和b,然后调用isAmicable函数判断它们是否为亲密数对,最终输出判断结果。

通过以上步骤,用C++语言实现亲密数对判断就完成了。这个程序可以帮助你快速判断任意两个正整数是否为亲密数对,同时也可以巩固你对C++函数的基本应用。

  
  

评论区

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