我想问一下辗转相除法的问题?

假设有a和b,且a>b,那么gcd(a,b)=gcd(a,a mod (b))是对的还是gcd(a,b)=gcd(b,a mod (b))是对的?还是gcd(a,b)=gcd(a,a mod (b))和gcd(a,b)=gcd(b,a mod (b))都对?

a>b,是gcd(b,a mod b)

参考

#include<stdio.h>

int gcd(int a, int b){
    if (a<b){
        int c = a; a=b; b=c;
    }
    if (b == 0) {
        return a;
    }
    return gcd(b, a % b);
}
int main() {
    printf("%d", gcd(12, 18));
    return 0;
}

结果为6

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

假设有a和b,且a>b
gcd(a,b)=gcd(b, a mod b)

如有帮助,还请帮忙点下采纳!感谢!

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632