辗转相除法

来源:互联网 发布:登录界面html源码下载 编辑:程序博客网 时间:2024/05/18 01:58

递推写法:

int gcd(int a, int b){    int r;    while(a%b != 0)    {        r = b;        b = a%b;        a = r;    }    return b;}


递归写法:

int gcd(int x, int y){    if(x%y != 0)        return gcd(y, x%y);    return y;}

int main(){    int a, b;    cin >> a >>b;    if(a<b) swap(a,b);    printf("%d\n",gcd(a,b));    return 0;}


原创粉丝点击