记一次大数整除

除法其实也是减法(应该可以这样说),那么大数除法中,该如何判断一个大数能否被其它数整除呢?(这里说的数指自然数)

比如 a(=100000000000000000000000),就不能被 b(=333)整除,(但是计算机硬件不支持这次计算或者计算结果有误),为了方便理解,这里定义一个函数 h(a, b) ,如果h(a, b) == 0的话,则说明a可以被b整除。

大数整除的一种思路:跳过无意义的减法运算过程(意思就是比如100/3,100减去10*3后得余数70,如果余数x(70)可以被y(3)整除,则100就能被3整除即h(100, 3) == h(100-10*3, 3),然后反反复复,直到x-y == 0 或者 x < y),大数整除的前提是 a(被除数) >= b(除数),那么其实算法设计就已经很清楚了——“大数化小,小数化了

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值