如题,那时我初中的时候,有一个人来我们学校推广一个叫什么速算法的。具体的记不清楚了 但有一点给了我很深的印象,就是他讲到快速验证相乘结果是否正确的时候用的方法。这个至今我还记得。 前提是整数相乘而且你算的结果偏差较小。 方法:1.把一个乘数各个位上的数字累加起来得到一个整数,再把这个整数各个位上的数字累加起来又得到一个整数,这样不停地累加直到最后的结果为 1位数。 2.同样的方法施用于另外一个乘数。也得到一个1位数 3.把上面两步的两个 1位数相乘得到的结果也累加直到 1位数为止 4.同样的累加方法用于等式右边的结果直到 1位数为止 5.比较等式左边与右边的最终结果是否相等 比如:583*192=111936 左边: 583累加的结果为7,192累加的结果为3。结果相乘 7*3=21,21累加结果为3 右边:111936累加的结果为3 在徒手运算的时候这样的验证方法是极快速的,而且有较高的成功率。 从数学的角度来说,这样的验算成立了,也只能算是一个必要条件,如果这个都不满足,你一定算错了。满足了该条件也不一定算对了。 其实我认为,这个问题最重要的地方并不在验证上,而是如何证明乘法的这种累加相乘关系。 为了方便描述就用[A]来表示把A各个位上的数字反复按上面方法累加得到1位数。 成立: 若A×B=C 则 [ [A]× ]=[C] 整数乘法的这个关系太奇妙了,直到现在我还是百思不得其解,遂翻出来与大家共同研讨
[此贴子已经被作者于2007-1-17 10:44:07编辑过]
|