python除法运算定律_除法竖式算法的原理是什么?

我们知道,一个数恰好整除另一个数是比较难得的,更多的是出现余数不为

的情况。于是就有了所谓的带余除法。用

去除

,商数是

,余数是

举个具体的例子更好看。33÷7,商为4,余数为5:

这个带余除法和竖式计算有什么关系呢?你回想一下竖式计算过程,就会发现其实每一步都做了一个简单的带余除法。

我不知道怎么用

把竖式计算过程排版出来,所以你自己在纸上写个例子吧,比如算222÷7。

你首先考虑的是2÷7,结果不够除,也就是商为0。于是你转而考虑22÷7,得到商为3,余数为1。然后把这个余数1和最后一位2合起来得到12,用12÷7,得到商为1,余数为5。把两次的商按顺序合起来,就得到了最终结果222÷7=31……5。

但这里有些东西没解释清楚,比如为什么要把两次的商按顺序合起来?2不够除7时为什么就换成了22除7?最大的谜题是,我每一步的带余除法拼起来为什么就得到了最终的结果,毕竟这里每一步的计算看上去都和要求的222÷7无关。

这里就涉及到十进制的用处了。还是以222÷7为例。

做计算之前,商数q是不知道的,但我们很容易看出来它不可能达到三位数。因为三位数至少是100,再乘以7,明显超过222了。// 这就是竖式计算的第一步,2不够除7。

根据上面所说,商数q最多就是两位数,记它的十位上是a,个位上是b,即有

现在按照带余除法就有

考虑222除70的带余除法。//这时候就有了22÷7。

简单试几下,就能知道a取3,于是有

// 这一步就是商数3和余数1的由来。

再考虑12除7的带余除法,很明显它只能是b=1,r=5。//这就是商数为1,余数为5的由来。

至于最后的商数21为什么是前两个商按顺序的组合,因为我们前面已经假定了a=3在十位,b=1在个位。//到这里就完成了整个计算。

其他情况同理,就是写出来比较麻烦,你可以自己写个试试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值