首頁  >  文章  >  後端開發  >  計算冪次k次的冪次%m

計算冪次k次的冪次%m

王林
王林轉載
2023-09-06 20:41:111142瀏覽

我們的目標是計算 k 乘以 % m 的冪,以基數、k 和 m 的值作為輸入 -

計算冪次k次的冪次%m

看上面的圖片。您是否嘗試過計算這樣的問題?我們來試試吧。

計算冪的k次方,然後對m取模。

Explanation

的中文翻譯為:

解釋

在這個問題中,給定了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中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除