21xrx.com
2024-09-20 00:24:52 Friday
登录
文章检索 我的文章 写文章
C++计算最大公约数和最小公倍数
2023-06-22 04:07:44 深夜i     --     --
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++程序,可以通过循环计算来快速求出两个数的最大公约数和最小公倍数。

  
  

评论区

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