Cod sursa(job #1647209)

Utilizator justsomedudePalade Thomas-Emanuel justsomedude Data 10 martie 2016 19:28:32
Problema Invers modular Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream fin  ("inversmodular.in");
ofstream fout ("inversmodular.out");

int A, R, phi;

void Ridica_la_putere(int n)
{
    int p=1, x;
    x = A;
    while (n>0)
    {
        if (n%2==0)
        {
            n=n/2;
            x=((x%R)*(x%R))%R;
        }
        else
        {
            p=((p%R)*(x%R))%R;
            n--;
        }
    }
    fout << p << "\n";
}

int main ()
{
   fin >> A >> R;
   phi = R-2;
   Ridica_la_putere(phi);
   fin.close();
   fout.close();
   return 0;
}