読者です 読者をやめる 読者になる 読者になる

PEをMathematicaで

Project Eulerに挑戦してみよう

Project Euler 188 / ハイパーべき乗

数 a の正整数 b によるハイパーべき乗(hyperexponentiation)または テトレーション(tetration)を a↑↑b または ba と書き,以下のように再帰的に定義する。

  • a↑↑1 = a
  • a↑↑(k+1) = a^(a↑↑k)

定義によれば 3↑↑2=3^3=27 であり,3↑↑3=3^27=7625597484987 となる。また, 3↑↑4 は大体 10^(3.6383346400240996*10^12) となる。

1777↑↑1855 の最後の8桁を求めよ。

Problem 188 - Project Euler


こんな大きな数はまともに扱えないので,オイラーの定理を使います。
オイラーの定理 (数論) - Wikipedia

 1777^{\phi(10^8)}=1777^{40000000}\equiv 1 \pmod{10^8}

指数となる式のかわりに,その Mod[40000000] を使って計算しました。