首页 > 其他 > 详细

gcd辗转相除法的简介与证明

时间:2019-08-31 14:38:11      阅读:83      评论:0      收藏:0      [点我收藏+]
int gcd(int a,int b)//求俩个数最大公约数
{
    return b==0 ? a : gcd ( b , a % b);
}

辗转相除法的证明

设俩数为 a , b (a,b),求它们最大公约数的步骤如下

设 q  = a / b

   r  =  a % b

  a = bq + r (r小于b大于等于0)

  如果 r = 0 则 b 是 a 与 b 的最大公约数

  r = a - bq 

  设存在a 与 b 的最大公约数 d 且 a  = sd  b = gd

  r  = (s - gq) d  // s - gq为常数,所以可得结论 a 与 b 的最大公约数一定也是 r 的最大公约数 

gcd辗转相除法的简介与证明

原文:https://www.cnblogs.com/newstartCY/p/11438689.html

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