zoukankan      html  css  js  c++  java
  • 欧几里德算法(自写理解)

    gcd欧几里德算法  求取最大公约数gcd(a,b)

       这个不用多说了

    extgcd拓展欧几里德算法 用于求解 ax+by=gcd(a,b)的解

       这个要多说一下

       ax+by=c,a,b,c都是常数)

       这就是一个直线方程嘛!(x,y)就是一条直线的轨迹

       但是呢  我们在计算机中经常要求一些离散的东西,也就是我们要求整数解

       这个咋求呢,就可以用这个神仙方法extgcd可以来求

       我们可以用extgcd求解 ax+by=c的整数点的解

       

       extgcd的内容呢:extgcd可以能求gcd----原理嘛,自己慢慢想这个神仙方法。extgcd不是直接去解我们的方程 ax+by=c的,但是可以间 接求解,extgcd 求解的是什么呢

    extgcd 可以直接求解的是 ax+by=gcd(a,b)的解。

    也就是说我们调用extgcd可以获得的结果是ax+by=gcd(a,b)的一组整数解。

    那我们要求的是什么  ax+by=c 而不是ax+by=gcd(a,b)

    那咋办   我们可以设置一个变量 k    axk+byk=gcd(a,b)*k 这个很好说吧!就是等式两边同时乘k。  

    如果我们存在整数使得gcd(a,b)*k等于c   那我们要求的ax+by=c的解就出来啦

    就是我们extgcd 求出的解乘上这个k

    如果不存在这样的k咋办("▔□▔自然那结果就是无解啦

       

  • 相关阅读:
    HTML5与HTML的区别
    0918练习整理
    0904 未来展望
    ajax弹出窗口
    AjAX请求后台,无刷新更新页面
    Jquery通过Ajax方式来提交Form表单
    php的socket通信
    次短路[SPFA]
    [Usaco2008 Open]Roads Around The Farm分岔路口[水题]
    [Usaco2008 Nov]Guarding the Farm 保卫牧场[DFS]
  • 原文地址:https://www.cnblogs.com/DWVictor/p/10283215.html
Copyright © 2011-2022 走看看