有很多方法可以找到一个数字的数字根,它们都是相似的,但是我无法理解下面的一个:
int digitalRoot(int n)
if (n < 10)
return n;
else
return digitalRoot(n / 10 + n % 10);我明白算法的作用,但不明白它为什么工作,一个数字的数字根与n/ 10 +n% 10的和是如何相关的。如果有一个简单的解释,也许有人可以简单地向我解释它?
我很难看出以下获取数字根的方法之间有什么关系,但它们给出的结果是相同的,这正是我想要理解的。
和
G 218
发布于 2019-12-24 21:07:53
也许有一个例子能更好地解释:
让n是1234
函数的第一次调用返回123 + 4
现在n=127,第二个调用返回12 + 3+4
现在是n=19,第三次调用返回1 + 2+3+4
结果是第四次呼叫后的1。
所以,它基本上把所有数字加起来。
https://stackoverflow.com/questions/59473294
复制相似问题