在 C++ 中求 2^(2^A) % B


在本教程中,我們將編寫一個程式來計算表示式 2^(2^A) % B 的值。

我們將使用遞迴函式來求解該表示式的值。讓我們看看解決這個問題的步驟。

  • 編寫一個接受 2 個引數 A 和 B 的遞迴函式。

    • 如果 A 為 1,則返回 4 % B,因為 2^(2^1) % B = 4 % B。

    • 否則,使用 A-1 和 B 遞迴呼叫該函式。

    • 返回結果^2%B。

  • 列印結果

示例

讓我們看看程式碼。

 線上演示

#include <bits/stdc++.h>
using namespace std;
long long solveTheEquation(long long A, long long B) {
   // 2^(2^1) % B = 4 % B
   if (A == 1) {
      return (4 % B);
   }
   else {
      long long result = solveTheEquation(A - 1, B);
      return result * result % B;
   }
}
int main() {
   long long A = 37, B = 467;
   cout << solveTheEquation(A, B) << endl;
   return 0;
}

輸出

如果執行上述程式碼,則將得到以下結果。

113

結論

如果您在本教程中遇到任何疑問,請在評論區提出。

更新於:2021年2月1日

88 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.