如果要用O(1)的时间完成,需要数根原理的知识。
树根的结果只有0到9。有计算式如下:
r(a)=1+(a-1)%9
对一某个自然数n有:
n为0时,r(n)=0
当n>0且 n%9==0 时,r(n)=9 。
因为9的倍数其实就是不断加9,个位减1,十位加1,结果是不变的。同样,一个数加个9的任意倍数,树根也是不变的
进一步,将n%9, 除了n是9的倍数的情况外(结果为0),其他的数根计算结果都是正确的。
为了将这种情况包含进去,用n-1来进行计算,然后结果再加上1就可以了。
如果要用O(1)的时间完成,需要数根原理的知识。
树根的结果只有0到9。有计算式如下:
r(a)=1+(a-1)%9
对一某个自然数n有:
n为0时,r(n)=0
当n>0且 n%9==0 时,r(n)=9 。
因为9的倍数其实就是不断加9,个位减1,十位加1,结果是不变的。同样,一个数加个9的任意倍数,树根也是不变的
进一步,将n%9, 除了n是9的倍数的情况外(结果为0),其他的数根计算结果都是正确的。
为了将这种情况包含进去,用n-1来进行计算,然后结果再加上1就可以了。