我有一个数学问题,它在某个奥林匹克比赛中出现过,我正在尝试用代码实现这个问题。问题是,我无法想出解决这个问题的逻辑。
问题是:
9^(9^(9^(9^...... 重复1001次....)))。答案的最后5位是什么?
如果有人能告诉我如何解决这个问题,我会很高兴。请注意,由于我需要在代码中实现这个问题,因此需要一个步骤更少、复杂度更低的解决方案。
不过,如果你有任何能得出正确答案的方法,我也想知道,因为我一直没有想通这个问题。
我有一个数学问题,它在某个奥林匹克比赛中出现过,我正在尝试用代码实现这个问题。问题是,我无法想出解决这个问题的逻辑。
问题是:
9^(9^(9^(9^...... 重复1001次....)))。答案的最后5位是什么?
如果有人能告诉我如何解决这个问题,我会很高兴。请注意,由于我需要在代码中实现这个问题,因此需要一个步骤更少、复杂度更低的解决方案。
不过,如果你有任何能得出正确答案的方法,我也想知道,因为我一直没有想通这个问题。
编辑:让我详细说明Egor Skriptunoff的评论。9的幂对10^5取模,周期为phi(10^5)=40000,其中phi是欧拉函数。因此,我们只需要确定T(9,1000) mod 40000。9的幂对40000取模,周期为phi(40000)=16000,因此我们只需要找到T(9,999) mod 16000等。由于phi在10^5上迭代15次为1,我们知道任何9的幂对phi^15(10^5)取模的值,因此对于任何更大的n,T(9,16) = T(9,n) mod 10^5。
modpow(9,1001,100000);
。 - Spektre