zoukankan      html  css  js  c++  java
  • GCD和扩展GCD

    gcd(a, b)用于求解自然数a,b的最大公约数

    int gcd(int a, int b)
    {
        if (b==0) return a;
        return gcd(b, a%b);
    }

    extgcd(a, b, x, y)用于求解方程ax+by = 1的一组解,并返回a,b的最大公约数

    int exgcd(int a, int b, int &x, int &y)
    {
        int d = a;
        if (b!=0) {
            d = exgcd(b, a%b, y, x);
            y -= (a/b)*x;
        }
        else {
            x = 1; y = 0;
        }
        return d;
    }

    暂不给出证明过程,有时间再回来补,不过多半是没时间。。。

  • 相关阅读:
    @codeforces
    @总结
    @总结
    @codeforces
    @topcoder
    @codeforces
    @codeforces
    @codeforces
    @codeforces
    @codeforces
  • 原文地址:https://www.cnblogs.com/wizarderror/p/11225854.html
Copyright © 2011-2022 走看看