基本欧几里德算法的C程序?

在这里,我们将看到用于找到两个数字的GCD的欧几里得算法。使用欧几里得算法可以很容易地找到GCD(最大公约数)。有两种不同的方法。一个是迭代的,另一个是递归的。在这里,我们将使用递归欧几里得算法。

算法

欧几里得算法(a,b)

begin
   if a is 0, then
      return b
   end if
   return gcd(b mod a, a)
end

示例

#include<iostream>
using namespace std;
int euclideanAlgorithm(int a, int b) {
   if (a == 0)
      return b;
   return euclideanAlgorithm(b%a, a);
}
main() {
   int a, b;
   cout << "Enter two numbers: ";
   cin >> a >> b;
   cout << "GCD " << euclideanAlgorithm(a, b);
}

输出结果

Enter two numbers: 12 16
GCD 4