21xrx.com
2024-11-22 06:07:39 Friday
登录
文章检索 我的文章 写文章
C++算法:求两个整数的最大公约数和最小公倍数
2023-07-04 21:41:39 深夜i     --     --
C++ 算法 最大公约数 最小公倍数 整数

C++算法中,求两个整数的最大公约数和最小公倍数是非常常见的问题。这些算法的实现是非常简单的,以下是一个基于欧几里得算法和简单乘法算法的示例:

1.欧几里得算法:该算法使用递归来确定两个数的最大公约数。首先,我们将较大的数除以较小的数,并将余数存储下来。我们将这个过程重复,直到余数为零。此时除数就是最大公约数。


int gcd(int a, int b) {

  if (a == 0)

    return b;

  return gcd(b % a, a);

}

2.简单乘法算法:该算法计算两个数字的最小公倍数。这就是最小公倍数是两个数字的乘积除以最大公约数。


int lcm(int a, int b) {

  return (a*b)/gcd(a, b);

}

通过这两种算法,我们可以轻松地求解最大公约数和最小公倍数。这些算法非常简单易懂,并且在计算机科学中非常常见。无论是在学术领域还是实际应用中,都有很多机会使用这些算法。因此,掌握这些算法对于C++程序员来说是非常重要的。

  
  

评论区

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