200字学会辗转相除法原理详解

  • 食用之前——什么是辗转相除法:
    用 “较大数” 除以 “较小数”,再用 “较小数” 除以 “第一余数”,再用“第一余数”除以 “第二余数”,如此反复,直到最后余数是0为止。如果是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。
    在这里插入图片描述
    代码原文:https://javaforall.cn/145574.html

  • 原理:设m>n,m=a*b,n=c*b,设b为最大公约数,自然有a>c且二者不存在非0以外的公约数。
    每次循环:
    m%n=t,其实t就是(a%c)*b,很自然m和n的最大公约数,其实就是t=(a%c)*b和n=c*b的最大公约数。由于c>a%c,因此m重新设为n,n设为较小的那个数,即t,然后循环这个过程,即a‘=c,c’=a%c继续这个过程,同样a’>c’且二者不存在非0以外的公约数。
    如此反复,直到t==0,即t=0,意味着m%n除尽了。前面说过a’>c’且二者不存在非0以外的公约数,那么如果除尽了则意味着c’=1,那么意味着n=c’*b=1*b=b,得到最终结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CtrlZ1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值