Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm 2 ^ (2 ^ A)% B trong C ++

Trong hướng dẫn này, chúng ta sẽ viết một chương trình để đánh giá phương trình 2 ^ (2 ^ A)% B.

Chúng ta sẽ tìm giá trị của phương trình bằng cách sử dụng một hàm đệ quy. Hãy xem các bước để giải quyết vấn đề.

  • Viết một hàm đệ quy nhận 2 đối số A và B.

    • Nếu A là 1, thì trả về 4% B là 2 ^ (2 ^ 1)% B =4% B.

    • Các hàm khác gọi đệ quy với A-1 và b.

    • Trả về kết quả ^ 2% B.

  • In giải pháp

Ví dụ

Hãy xem mã.

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

Đầu ra

Nếu bạn thực thi đoạn mã trên, bạn sẽ nhận được kết quả sau.

113

Kết luận

Nếu bạn có bất kỳ câu hỏi nào trong hướng dẫn, hãy đề cập đến chúng trong phần bình luận.