a^b^c^... mod m を見つける 質問する

a^b^c^... mod m を見つける 質問する

計算したい内容:

a b c d . . . mod m

この数値は大きすぎますが、 a 、 b 、 c 、...、 m は単純な 32 ビット int に収まるので、効率的な方法を知っていますか。

何か案は?


警告:この問題は、a b mod mを見つけることとは異なります。

また、 a b c は(a b ) cと同じではないことにも注意してください。後者は a bcと等しくなります。指数は右結合です。

ベストアンサー1

a b c mod m = a b c mod n mod m、ただしn = φ(m)オイラーのトーティエント関数

m が素数の場合、n = m-1 となります。

編集: Nabb が指摘したように、これは a が m と互いに素である場合にのみ当てはまります。したがって、最初にこれを確認する必要があります。

おすすめ記事