利用二进制进行快速乘法:俄罗斯农名乘法

俄罗斯农名乘法是一种计算乘法的方法:

计算方法:将第一个乘子x2,第二个乘子除2,直到第二个乘子为1为止。如下面的例子所示,将第二个乘子为奇数的行中的第一个乘子相加即为最终的乘积结果。

例如:

epoch0:14 x 25

epoch1:28 x 12

epoch2:56 x 6

epoch3:112x3

epoch4:224x1

sum:  350

二进制实现俄罗斯农民乘法

1 def quickMulti(A,B):
2     res=0
3     while B>=1:
4         if B&1: res+=A
5     return res
原文地址:https://www.cnblogs.com/bianque/p/13510229.html