粗略估算技巧——舍九法,检查加法、乘法结果
微信公众号:科文路。转发须注明出处。
Casting Out Nines,弃九法;用于检查整数乘法、加法的结果是否错误。
表述
“Casting out nines” is an elementary check of a multiplication which makes use of the congruence $10^n \equiv 1$ ($\mod 9$;mod 为取余数符号). Let decimal numbers be written $a=a_n\cdots a_2a_1a_0$, $b=b_n\cdots b_2b_1b_0$, and their product be $c=c_n\cdots c_2c_1c_0$. Let the sums of the digits of these numbers be $a^\ast$, $b^\ast$, and $c^\ast$. Then $a\equiv a^\ast$ ($\mod 9$), $b\equiv b^\ast$ ($\mod 9$), and $c\equiv c^\ast$ ($\mod 9$). Furthermore $ab\equiv a^\ast b^\ast$ ($\mod 9$), so $c\equiv c^\ast$ ($\mod 9$). So if $c$ and $a^\ast b^\ast$ are incongruent ($\mod 9$), the multiplication has been done incorrectly.
应用
用于检查整数乘法、加法的结果是否错误。
注意
只能验证是否错误,不能验证是否正确。即该检查只是正确性检查的条件之一,仅用于粗略估算。
过程助记
- 估算加法结果是否错误:取所有加数的各位数字之和除以 9 所得的余数应等于结果各位数字之和除以 9 的余数;
- 估算乘法结果是否错误:取各加数各位数字之和、然后相乘,其积对 9 取余应等于原计算结果各位数字之和对 9 取的余。
举例
例一,估算加法结果
来自《编程珠玑》
$3142 + 2718 + 1123$(检查下面 3 个结果)
- $=983$,位数太少
- $=6982$,末位数肯定不对
- $=6973$,舍九法
- 取所有加数的各位数字之和:$3142,2718,1123$ 为 $35$,$6973$ 为 $25$
- 等式两边数字的和除以 9 所得的余数应相等。若余数不相等,则计算结果错误:这里 $35\mod 9=8$,而 $25\mod 9=7$,不相等,故计算结果错误
例二,估算乘法结果
来自 Wolfram
$12345\times 67890 = 838102050$(正确的)
利用舍九法估算上式结果是否错误:
- 取各加数各位数字之和、然后相乘:$12345$ 为 $15$,$67890$ 为 $30$;$15\times 30=450$
- 其积对 9 取余应等于原计算结果各位数字之和对 9 取的余。若余数不相等,则计算结果错误:这里 $450\mod 9=0$;原计算结果 $838102050$ 累加为 $27$,$27\mod 9 = 0$,相等,故通过舍九法检查。
都看到这儿了,不如关注每日推送的“科文路”、互动起来~
粗略估算技巧——舍九法,检查加法、乘法结果