在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

结论