安卓手机扫描二维码安装App

弃九验算法


aa 的各位数字之和为 a \overline{a} ,可以知道 aaa \overline{a} 模 9 同余,即


aa(mod9)a \equiv \overline {a} (\mod 9)


也就是说,一个数除以 99 所得余数,与这个数的各个位上数字之和除以 99 的余数相同.


如果有两个数 a,ba,b 的积是 pp ,且它们的各位数字之和分别是 a,b,p\overline{a}, \overline{b}, \overline{p} ,则由上式可以得到


abp(mod9)\overline{a}\overline{b} \equiv \overline{p} (\mod 9)


通过以上方法可以快速验证一个两个大数的乘积是否正确,这种方法称为弃九验算法. 这个方法的特点是只能“检错”,不能“检对”.



举例


例如用弃九验算法验证以下算式是否正确.


39547×47288355=39547 \times 47288355= 18701124751851870112475185 


验算:


3+9+5+4+73+9+5+4+7 =28=28


281(mod9)28 \equiv 1 (\mod 9) ,即 2828 除以 9911


4+7+2+84+7+2+8 +8+3+5+5+8+3+5+5 =42=42


426(mod9)42 \equiv 6 (\mod 9) ,即 4242 除以 9966


1×6=61 \times 6=6


1+8+7+01+8+7+0 +1+1+2+4+1+1+2+4 +7+5+1+8+5+7+5+1+8+5 =50 =50


505(mod9)50 \equiv 5(\mod 9) ,即 5050 除以 9955


565 \ne 6 ,所以结果一定是错的.



如果原算式是


39547×47288355=39547 \times 47288355= 18701125751851870112575185


1+8+7+0+11+8+7+0+1 +1+2+5+7+1+2+5+7 +5+1+8+5+5+1+8+5 =51=51


516(mod9)51 \equiv 6(\mod 9) ,即 5151 除以 9966 .


那么这个结果可能是对的.




同样也可以验算加法、减法和除法运算.


苹果手机扫描二维码安装App