21xrx.com
2025-04-24 02:52:31 Thursday
文章检索 我的文章 写文章
C++计算最大公约数和最小公倍数
2023-06-22 04:07:44 深夜i     9     0
C++ 最大公约数 最小公倍数 算法 循环

C++是一种常用的编程语言,可以用来进行各种计算和编程。其中,常见的问题是计算最大公约数和最小公倍数。最大公约数是指两个或多个数的公共因数中最大的那个数,例如4和6的最大公约数是2;而最小公倍数是指两个或多个数的公共倍数中最小的那个数,例如4和6的最小公倍数是12。

在C++中,可以通过循环计算来求出两个数的最大公约数和最小公倍数。以下是一个示例代码:

#include <iostream>
using namespace std;
int main()
{
  int a, b, x, y, t, gcd, lcm;
  cout << "Enter two integers\n";
  cin >> x >> y;
  a = x;
  b = y;
  while (b != 0)
  
    t = b;
    b = a % b;
    a = t;
  
  gcd = a;
  lcm = (x*y)/gcd;
  cout << "Greatest common divisor of " << x << " and " << y << " = " << gcd << endl;
  cout << "Least common multiple of " << x << " and " << y << " = " << lcm << endl;
  return 0;
}

在这个程序中,我们首先通过 `cin` 语句来读取两个整数 `x` 和 `y`。接下来,我们通过变量 `a` 和 `b` 来存储这两个数,因为在后面的计算中可能会改变 `x` 和 `y` 的值。

我们使用一个while循环计算两个数的最大公约数,直到其中一个数变成了0。在每次循环中,我们将变量 `t` 存储为 `b`,将 `b` 赋值为 `a` 取余 `b` 的结果,将 `a` 设为 `t`。当 `b` 等于0时,变量 `a` 存储的就是最大公约数。

通过 `gcd` 计算后,我们可以用 `(x*y)/gcd` 来计算最小公倍数,然后打印出最大公约数和最小公倍数的值。

以上就是一个简单的C++程序,可以通过循环计算来快速求出两个数的最大公约数和最小公倍数。

  
  

评论区