マトラブでユークリッドの互除法を実装する方法

ユークリッドの互除法(GCD)は、2つの数の最大公約数を求める方法です。

MATLABでは,次のコードを使用してユークリッドのアルゴリズムを実装できます。

function gcd_val = euclidean_algorithm(a, b)
    % 确保a大于等于b
    if a < b
        temp = a;
        a = b;
        b = temp;
    end
    
    while b ~= 0
        remainder = mod(a, b);
        a = b;
        b = remainder;
    end
    
    gcd_val = a;
end

上記コードでは、aとbは最大公約数を求めたい2つの数です。まず、大小を比較して、aがb以上であることを確認します。その後、bが0になるまでwhileループを実行します。各ループでは、mod関数を使用して剰余を計算し、剰余にbを更新すると同時に、aは元のbに更新されます。最終的に、ループが終了したとき、aの値が最大公約数となります。

この関数は、以下のように使用できます。

a = 24;
b = 36;
gcd_val = euclidean_algorithm(a, b);
disp(gcd_val);

このコードでは、a と b はそれぞれ 24 と 36 で、計算された最大公約数が最後に表示されます。

bannerAds