ユークリッドのアルゴリズムは、正の整数のリストのGCD(最大公約数)を取得するための最適なアルゴリズムであることを知っています。しかし実際には、このアルゴリズムをさまざまな方法でコーディングできます。(私の場合、Javaを使用することにしましたが、C / C ++が別のオプションである可能性があります)。
プログラムで可能な限り最も効率的なコードを使用する必要があります。
再帰モードでは、次のように記述できます。
static long gcd (long a, long b){
    a = Math.abs(a); b = Math.abs(b);
    return (b==0) ? a : gcd(b, a%b);
  }
反復モードでは、次のようになります。
static long gcd (long a, long b) {
  long r, i;
  while(b!=0){
    r = a % b;
    a = b;
    b = r;
  }
  return a;
}
GCD用のバイナリアルゴリズムもあります。これは、次のように簡単にコーディングできます。
int gcd (int a, int b)
{
    while(b) b ^= a ^= b ^= a %= b;
    return a;
}