00:04
这节课讲用扩展进率的算法求乘法律,上节课讲了使用飞马小厘米求率,但是飞马小厘米有一个局限,那就是必须限制在输出域内。而扩张经理的算法。M是分零整数就行,不需要是数数。X和一同于M的,那么ma和X就负一乘方力。注意,只有A和M复苏的时候才有惩罚利润。这个是根据培数定理得来的。陪租定理。我这里就不。不证明他了,用这个结论即可。这个X和B同于。把B等于一。
01:01
那么GCD,嗯,嗯。最大公因数据就必须等于一了,意思就是FMB去负数才有乘法力吧。O心理的算法,也叫辗转相除法,这是计算两个数的最大公约数的。而X加BY等于。A和B的最大公约数,这是扩散L经理的算法。扩展和经理的算法也会计算出最大公因数了,它还会计算出X和Y的值。XY是有多组解的。并且可以是零或者是负数。X加BY等于A和B的最大公约数。把B换成M。
02:00
那么X加Y等于A和MN的最大关系数。因为A和M是负数的。因此GCD就等于一,所以变成了X加MY等于一。嗯,这个等式同是M。这样就把等式变成了同一式,也就是X加二和一同于Y的M。然后。这个就消掉了。也就是X和一同于莫。破产机这个时候。X已经是计算出来了。X就是A的乘法利润。嗯,这是扩展欧心理的算法的步骤。
03:01
嗯,分为两种情况。嗯。如,如果B等于零的时候。那么最大公约数就是直接取A。这这个是一个规定是。然后X等于一,Y等于零。当B不等于零的时候。这个就是常规的方法。这个这这些这些推断。我就不说了,只看这个红色的部分,只需要记住这个结论即可。我们先我们看一个事例,A等于八,B等于15。嗯,首先就是八除以15等于零余八。这个右边呢,先别看。
04:00
然后。把15搬下来就是被除数,然后把余数搬下来当成除数,然后等于一余七。然后八。又当这个被诉叔。余数,嗯,当成一个除数,然后等于一余一。然后再下一步。一一除以等于一余零。然后最最后算出来。一除以零这个是。这个也就是符合第一种情况。B等于零的时候不一定。最大公约数肯定是等于一了。然后X等于一,Y等于零,那么这个地方就是X0等于1YY0等于零。然后。然后又回过来求X1和Y1。
05:03
X1,这个X1就等于Y0了。然后Y1呢等于X0。点。A除以B取下边界,呃,乘以Y0。然后。这个算下来,X1就等于零。Y1就等于一,然后。往上算。算出X2和Y,再往上。算出为X3和Y3,再往上算出为X和Y4。那么X4。就是惩罚利润。这这个这整整个过程用递归方法就可以求出来。我们看一下。89MO的99就是这个惩罚利润是。
06:02
乘方利润就是X。X是负十,我们用另一种方法求。这是mathematic里面的。函数。这个也是可以取存还利润的。我们可以看到,一个是负数,一个是正数。他们相差刚好是99,也就是说这两个是等价的。然后我们看一下代码。我们。看到了。这个事情用地位方法求惩罚利润。然后。XY。这个还不知道值是多少,然后就用扩展了欧几米的算法。扩展经理的算法EXGCD,我们可以看到。
07:02
这里面又调用了一个gcb。这已经用到了地位的方法。然后嗯,其实跟这边呢。算法步骤是一样的。当B等于零的时候。X等于一。Y等于零,然后最大公约数,那自然也也就等于A了。当B不等于不等于零的时候。嗯,然后就调用。扩展了二进内的算法递归调用。然后X就自然就等于Y了,然后Y。Y等于X0除以。X0减A除以B乘以Y0。
08:00
这个。我们看一下运行结果。第一种,第一种方法是我们自己写的,第二种方法是直接调用根源里面的猫的。因为是。就惩罚利润,我们可以看一下结果。嗯,稍等一会儿。我们可以看到最终的结果就是89。跟马森马克里面的结果是一样的。
我来说两句