1. 首页
  2. 游戏开发
  3. 其他
  4. MATLAB扩展欧几里得算法实现方法

MATLAB扩展欧几里得算法实现方法

上传者: 2023-03-11 16:08:20上传 MLAPP文件 39.2KB 热度 7次
MATLAB扩展欧几里得算法是一种常见的求最大公约数的算法,采用了辗转相除的思想。具体实现方法如下:

function [gcd, x, y] = ext_gcd(a, b)
%扩展欧几里得算法
%输入参数:a,b
%输出参数:gcd(最大公约数),x,y(贝祖等式ax + by = gcd中的一组解)
    if b == 0
        gcd = a;
        x = 1;
        y = 0;
    else
        [gcd, x_tmp, y_tmp] = ext_gcd(b, mod(a, b));
        x = y_tmp;
        y = x_tmp - fix(a/b)*y_tmp;
    end
end

【注意】扩展欧几里得算法只能求出最大公约数的值,并不能求出最小公倍数。
用户评论