与えられたb
andとsayN
の範囲について、a
(0...n)
私はどこを見つける必要がありますans(0...n-1)
、
ans[i]
=a's
いいえpow(a, b)modN == i
ここで検索しているのは、計算時間を短縮するためpow(a,b)modN
に の範囲で可能な繰り返しです。a
例:-
もしb = 2
N = 3
そしてn = 5
for a in (0...4):
A[pow(a,b)modN]++;
そうなるだろう
pow(0,2)mod3 = 0
pow(1,2)mod3 = 1
pow(2,2)mod3 = 1
pow(3,2)mod3 = 0
pow(4,2)mod3 = 1
したがって、最終結果は次のようになります。
ans[0] = 2 // no of times we have found 0 as answer .
ans[1] = 3
...