大整数除法可以用减法来模拟除法,就是反复做减法,看看从被除数里最多能减去多少个除数,商就是多少。一个一个减显然太慢,如何减得更快一些呢?以7546除以23 为例来看一下:开始商为0。先减去23 的100 倍,就是2300,发现够减3 次,余下646。于是商的值就增加300。然后用646减去230,发现够减2 次,余下186,于是商的值增加20。最后用186减去23,够减8 次,因此最终商就是328。核心是要写一个大整数的减法函数,然后反复调用该函数进行减法操作。计算除数的10 倍、100 倍的时候,不用做乘法,直接在除数后面补0 即可。
C++代码:




转自公众号:
南昌青少年编程