কম্পিউটার টিউটোরিয়াল

C++-এ 2^(2^A) % B বের করা

দুই পূর্ণসংখ্যা A এবং B দেওয়া থাকলে, 2^(2^A) % B এর মান বের করতে হবে। রিকারসিভ ফাংশন দিয়ে সমাধান করা যায়।

পদ্ধতি

  • বেস কেস: A == 1 হলে 2^(2^1) % B = 4 % B রিটার্ন করুন।
  • রিকারসিভ স্টেপ: solve(A-1, B) কল করুন, ফলাফল = result² % B।
  • মডুলার এক্সপোনেনশিয়েশনের বৈশিষ্ট্য ব্যবহার করা হয়েছে।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;

long long solve(long long A, long long B) {
    if (A == 1) return 4 % B;
    long long res = solve(A-1, B);
    return (res * res) % B;
}

int main() {
    long long A = 37, B = 467;
    cout << solve(A, B) << endl;
    return 0;
}

আউটপুট

113
  1. সি++-এ ত্রিভুজের পেরিমিটার (Perimeter) বের করা

  2. C++-এ ডুপ্লিকেট সাবট্রি খুঁজে বের করা

  3. C++ প্রোগ্রাম: LCM (লঘুতম সাধারণ গুণিতক) নির্ণয়

  4. C++ প্রোগ্রাম: GCD (মহত্তম সাধারণ ভাজক) নির্ণয়