Computer >> Computer tutorials >  >> Programming >> C++

Find 2^(2^A) % B in C++


In this tutorial, we are going to write a program to evaluate the equation 2^(2^A) % B.

We are going to find the value of the equation using a recursive function. Let's see the steps to solve the problem.

  • Write a recursive function that takes 2 arguments A and B.

    • If A is 1, then return 4 % B as 2^(2^1) % B = 4 % B.

    • Else recursively call the function with A-1 and b.

    • Return the result^2%B.

  • Print the solution

Example

Let's see the code.

#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;
}

Output

If you execute the above code, then you will get the following result.

113

Conclusion

If you have any queries in the tutorial, mention them in the comment section.