粗略估算技巧——舍九法,检查加法、乘法结果

微信公众号:科文路。转发须注明出处。

Casting Out Nines,弃九法;用于检查整数乘法、加法的结果是否错误。

表述

https://mathworld.wolfram.com/CastingOutNines.html

“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$,舍九法
    1. 取所有加数的各位数字之和:$3142,2718,1123$ 为 $35$,$6973$ 为 $25$
    2. 等式两边数字的和除以 9 所得的余数应相等。若余数不相等,则计算结果错误:这里 $35\mod 9=8$,而 $25\mod 9=7$,不相等,故计算结果错误

例二,估算乘法结果

来自 Wolfram

$12345\times 67890 = 838102050$(正确的)

利用舍九法估算上式结果是否错误:

  1. 取各加数各位数字之和、然后相乘:$12345$ 为 $15$,$67890$ 为 $30$;$15\times 30=450$
  2. 其积对 9 取余应等于原计算结果各位数字之和对 9 取的余。若余数不相等,则计算结果错误:这里 $450\mod 9=0$;原计算结果 $838102050$ 累加为 $27$,$27\mod 9 = 0$,相等,故通过舍九法检查。

都看到这儿了,不如关注每日推送的“科文路”、互动起来~

粗略估算技巧——舍九法,检查加法、乘法结果

https://xlindo.com/kewenlu2022/posts/34e94530/

Author

xlindo

Posted on

2022-01-09

Updated on

2023-05-10

Licensed under

Comments