【发布时间】:2014-08-23 05:23:04
【问题描述】:
我有一道数学题出现在 Olympiapad 中,我正在尝试用代码来实现它。问题是,我无法弄清楚这个问题的逻辑。
问题是,
9^(9^(9^(9^...... 1001 次......)))。答案的最后 5 位数字是多少?
如果有人能告诉我该怎么做,我会很高兴。请记住,由于我需要在代码中实现这一点,因此需要较少步骤并因此在复杂性方面更优化的解决方案对我来说是有利的。
但是,如果您有任何方法可以找到正确的解决方案,我也想知道这一点,因为我无法理解这一点。
【问题讨论】:
-
在看到
modpow(9,1001,100000);之前问了很多次琐碎的事情,寻找模运算和功率 -
@Spektre Duuuuude ...这太恶心了!但是,在性能方面,它会很烂:)。首先,链接到MSDN page。其次,我错了,计算需要2毫秒(60009)。
-
@SPecktre 是的,我真的想要这个问题的最佳解决方案
-
@Spektre:问题不在于 9^1001。它是关于塔 9^9^9^9...^9 和 1001 个 9。至少,这是在数学奥林匹克上提出的问题类型。看来这里很多人对 9^1001 更感兴趣。
-
提示:如果这样的电力塔超过15层,结果是一样的。这是因为 φ(φ(...φ(10^5)..))=1,其中 φ(欧拉方程)重复了 15 次。
标签: performance math numbers logic exponent