今天看到了一个十分有趣的算法,据说是俄罗斯的农夫发明的。特别适合在计算机里面算整数乘法。总结一下和大家分享。
我们来看简单的等式
m * n = (m /2 )* (2 * n) (如果m是偶数)
m * n = ((m -1)/2 )* (2 * n) + n (如果m是奇数)
利用这两个很简单的等式,即使你不会 九九乘法表也可以很简单的算出很大的数想乘的结果。
我们来看看运算步骤如下表
比如我们要计算 86 * 39
m |
今天看到了一个十分有趣的算法,据说是俄罗斯的农夫发明的。特别适合在计算机里面算整数乘法。总结一下和大家分享。
我们来看简单的等式
m * n = (m /2 )* (2 * n) (如果m是偶数)
m * n = ((m -1)/2 )* (2 * n) + n (如果m是奇数)
利用这两个很简单的等式,即使你不会 九九乘法表也可以很简单的算出很大的数想乘的结果。
我们来看看运算步骤如下表
比如我们要计算 86 * 39
m |