欧几里得算法

[亡魂溺海] 提交于 2020-01-20 23:50:10

欧几里得算法又称辗转相除法,用于计算两个正整数的最大公约数。

gcd(a,b) = gcd(b,a%b)

int gcd(int a, int b) {
    return b? gcd(b, a % b) : a;
}

 

拓展欧几里得算法

void gcd(int a, int b, int &d, int &x, int &y){
    if(!b) d = a, x = 1, y = 0;
    else gcd(b, a % b, d, y, x),y -= x * (a / b);
} 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!