zoukankan      html  css  js  c++  java
  • 扩展欧几里得

    扩展欧几里得

    解释:

    扩展欧几里得算法是用来在已知 a, b 的情况下求解一组 x,y,使它们满足等式ax+by=gcd(a,b)=kd(注意:gcd(a, b) | d)该方程的解一定存在

    证明:略

    模板代码:

    #include<iostream>
    #include<cstdio>
    using namespace std;
    
    typedef long long LL; 
    
    void extend_Eulid(LL a, LL b, LL &x, LL &y, LL &d){
        if (b == 0) {d = a, x = 1, y = 0;}
        else{
            extend_Eulid(b, a % b, y, x, d);
            y -= x * (a / b);
        }
    }
    
    int main(){
        LL a, b, d, x, y;
        while(~scanf("%lld%lld", &a, &b)){
            extend_Eulid(a, b, x, y, d);
            printf("%lld*a + %lld*b = %lld
    ", x, y, d);
        }
    }
  • 相关阅读:
    JS
    JS
    JS
    CSS
    CSS
    CSS
    NPOI导出自动换行效果
    Httpcookie的简单应用
    前台JS设置Cookies后台读取刚设置的Cookies
    SQL SERVER 如何调试存储过程
  • 原文地址:https://www.cnblogs.com/fisherss/p/10012393.html
Copyright © 2011-2022 走看看