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

সি++ প্রোগ্রাম: মডুলার এক্সপোনেনশিয়েশন অ্যালগরিদম (Modular Exponentiation Algorithm) বাস্তবায়ন


এটি মডুলার এক্সপোনেনশিয়েশন অ্যালগরিদম বাস্তবায়ন করার একটি সি++ প্রোগ্রাম।

আলগরিদম

Begin
    function modular():
    // Arguments: base, exp, mod.
    // Body of the function:
        initialize res = 1
        while (exp > 0)
            if (exp mod 2 == 1)
                res = (res * base) % mod
            exp = exp left shift 1
            base = (base * base) % mod
        return res.
End

উদাহরণ

#include <iostream>
using namespace std;

long long modular(long long base, long long exp, int mod) {
    long long res = 1;
    while (exp > 0) {
        if (exp % 2 == 1)
            res = (res * base) % mod;
        exp = exp >> 1;
        base = (base * base) % mod;
    }
    return res;
}

int main() {
    long long b, e;
    int mod;
    cout << "Enter Base : ";
    cin >> b;
    cout << "Enter Exponent: ";
    cin >> e;
    cout << "Enter Modular Value: ";
    cin >> mod;
    cout << modular(b, e, mod);
    return 0;
}

আউটপুট

Enter Base : 7
Enter Exponent: 6
Enter Modular Value: 26
25
  1. C++ প্রোগ্রাম: 오일러 থিওরেম বাস্তবায়ন

  2. C++ প্রোগ্রাম: পার্ক-মিলার র‍্যান্ডম নম্বর জেনারেশন অ্যালগরিদম বাস্তবায়ন

  3. C++ প্রোগ্রাম: ইন্টারপোলেশন সার্চ অ্যালগরিদম বাস্তবায়ন

  4. অ্যারে শাফলিং-এর জন্য ফিশার-ইয়েটস অ্যালগরিদম বাস্তবায়নের C++ প্রোগ্রাম