Digital root,digit sum

$Digital root$ , $s(x)$ 表示将 $x$ 的各个数位相加的结果,当$base > 1$,数位大于2时显然有 $s(x) < x$, 从而最终x必然会变成一个单位数字记作 $s^*(x)$, $x$ 的  $digital root$。

考虑对于对于k进制数字 $x (mod \  k-1)$,从而 $a_2   k^2  + a_1  k + a_0 = a_2 + a_1 + a_0 (mod \  k-1)$,从而 $s(x) = x (mod \  k-1)$,从而得到最终 $digital root = x (mod \ k-1)$

并且只有 0 的 root 为 0 ,其他 > 0,从而可以快速求解 digital root。

考虑这个算法的应用:检查是否加和正确。例如在大整数加法中,可以用这样的方法来判断若干数字的加和是否正确。 

 

posted @ 2018-04-27 23:26  PH=X  阅读(184)  评论(0)    收藏  举报