我們的目標是計算 k 乘以 % m 的冪,以基數、k 和 m 的值作為輸入 -
看上面的圖片。您是否嘗試過計算這樣的問題?我們來試試吧。
計算冪的k次方,然後對m取模。
在這個問題中,給定了x、k和m。計算${x^{x{^x{^{^.{^{^.{^{^.}}}}}}}}}$,重複k次,然後對m取模。
讓我們透過一個例子來理解。
已知,x = 2、k = 4、m = 6
因此,計算$2^{2^{2{^2}}}\:=\:4^{2{^2}}\:=\:16^2\:=\:256$ p>
然後 256% 6 = 4。
所以,最終結果是4。
讓我們討論一下計算 k 乘以 % m 的冪的分步演算法。
將x、k和m的值當作輸入。
使用pow函數計算冪的冪,最後使用取模運算子得到最終結果。
將最終結果作為輸出列印。
C 程式計算冪的k次方%m。
#include <iostream> #include <cmath> using namespace std; int powofpow(int x, int k){ int val = x; k--; while (k--) val = pow(val, x); return val; } int main(){ int x = 5, k = 2, m = 3; int result; result = powofpow(x, k); result %= m; cout << "Compute power of power " << k << " times % " << m << " of " << x << " is " << result << endl; return 0; }
Compute power of power 2 times % 3 of 5 is 2
時間複雜度:O(k),因為此程式碼執行迭代 (k-1) 次。
空間複雜度:O(1),因為程式碼使用固定數量的變數來儲存輸入值和結果,而不管輸入的大小。
在本文中,我們試圖解釋計算將底數的冪次方k次取模m的方法,其中底數、k和m的值作為輸入給出。我希望本文能幫助您更好地理解這個概念。
以上是計算冪次k次的冪次%m的詳細內容。更多資訊請關注PHP中文網其他相關文章!