Answers for "modular exponentiation algorithm c++"

C++
0

modular exponentiation algorithm c++

#include <iostream>
using namespace std;

int convert(int deci)
{
  int bin = 0;
  int rem, i = 1;

  while (deci!=0)
  {
    rem = deci % 2;
    deci /= 2;
    bin += rem * i;
    i *= 10;
  }

  return bin;
}

int main()
{
    int n, b, m, bin_b, a;
    int power, i, x = 1;

    cout<< "Enter value of b: ";
    cin>> b;

    cout<< "Enter value of n: ";
    cin>> n;

    cout<< "Enter value of m: ";
    cin>> m;

    bin_b = convert(n);
    power = b % m;

    for(i=0; bin_b!=0; i++)
    {
        a = bin_b % 10;
        if(a == 1)
            x = (x * power) % m;
        power = (power * power) % m;
        bin_b /= 10;
    }

    cout << "\n("<< b << "^" << n <<") mod " << m <<" = " << x <<endl;

    return 0;
}
Posted by: Guest on March-11-2022

Browse Popular Code Answers by Language