Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ค้นหา 2^(2^A) % B ใน C++


ในบทช่วยสอนนี้ เราจะเขียนโปรแกรมเพื่อประเมินสมการ 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

บทสรุป

หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น