利用二进制进行快速乘法:俄罗斯农名乘法
俄罗斯农名乘法是一种计算乘法的方法:
计算方法:将第一个乘子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