拓展欧几里得

开门见山,直奔主题

首先要了解拓展欧几里得,先要了解几个概念:

一、裴蜀定理

重要推论是:a,b互质的充分必要条件是存在整数x,y使ax+by=1,也就是 ax+by=gcd(a,b)=1

二、乘法逆元

在中国剩余定理的计算里,需要求一个数字在一个模下的逆元,也就是对于给定的 a,b,找到方程   拓展欧几里得的一个整数解 a* 。接下来我们分析一下这个方程背后隐藏着什么。根据同余的定义,有  拓展欧几里得,也就是存在整数 k使得 b*k=aa*-1 。移一下项,就得到了 aa*-bk=1. 即aa*+(-)bk=1这个形式恰好符合裴蜀定理 ax+by=1 的形式,于是 (a,b)=1 ,这表明 a,b互质是逆元存在的必要条件。

三、欧几里得算法

原来博客有提及过,这里就不详写了,给个代码吧

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


呵呵,进入正题

拓展欧几里得

 

扩展欧几里得计算ax+by=c的整数解(x,y)程序如下:

拓展欧几里得

 

 目前本人还有些不懂,会再问老师。。。

继续水

拓展欧几里得

 

 拜拜

拓展欧几里得

 

上一篇:第13篇英语翻译


下一篇:centos7的crontab定时任务无法执行,按情况分析