首页 > 编程语言 > 详细

欧几里得算法(辗转相除法)

时间:2017-02-04 14:36:08      阅读:273      评论:0      收藏:0      [点我收藏+]

欧几里得算法   gcd(a,b)=gcd(b,a mod(b));

   $start:

     hypo: r=a mod b,  d=gcd(a,b);

     $: a=kb+r;        

     $: r/d= a/d-(kb)/d;

     $: r mod d=0;

       $: if d=gcd(a,b) then d <- gcd(r);

     $: if d=gcd(a,b) then  d|r; 

     hypo:  A=gcd(a,b) :set;  B= gcd(b,r) :set; C=gcd(a,r) :set;

     $: A<- B && A<- C;

    hypo:  d‘=gcd(b,r);

     $: a/d‘= kb/d‘ +r/d‘;

     $: d‘|a $: B<-A;

     $:A=B;              

     $end; 

欧几里得算法(辗转相除法)

原文:http://www.cnblogs.com/koei/p/6364484.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!