q^k を計算したいのですが、st q は n ビット幅で、制限があります。
- 最終結果は n*k ビット幅になります。
- 計算のすべてのステップで、x,y st x を乗算した結果は |x| です。ビット幅で、y は |y| です。ビット幅は |x|*|y| です。ビット幅。
私はそれをペアでやろうとしました。最初のステップの結果は 2n ビット、2 番目のステップは (2^2)n ビットなど、最後のステップは n*2^(logk) (=kn ) ビット。log(k) ステップがあり、慎重に計算すると、O(log(n)(log(k))^2) になります。上記の制限の中で、それを行うためのより高速な方法 (またはこのアルゴリズムなどのより良い分析) について聞いていただければ幸いです。前もって感謝します。