欧几里得——最大公约数 GCD

2026-03-05 15:12:15

1、递归实现

int gcd(int a, int b) {

        if (b == 0) {//b=0的时候上个调用中的a%b等于零,那么对于上一个调用gcd(a,b)的最大公约数就是b,也就是下一个循环的a,直接返回即可

                return a;

        }

        return

                gcd(b, a % b);

}

2、非递归调用实现

int Gcd(int a, int b) {

        while (b != 0) {

                  int r = b;

                  b = a % b;

                  a = r;

        }

        return a;

}

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢