Cod sursa(job #1157116)

Utilizator StefansebiStefan Sebastian Stefansebi Data 28 martie 2014 11:39:35
Problema Invers modular Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<fstream>
using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
long long a, b, m, p;

long long putere(long long a, long long b){
    long long rez;
    if (b == 1)
        return a % p;
    if (b == 2)
        return a * a % p;
    if (b % 2 == 1)
        return a * putere(a, b - 1) % p;
    else {
        rez = putere(a, b / 2) % p;
        return rez * rez % p;
    }
}

int main(){
    fin >> a >> b; p = b;
    m = putere(a, b - 2);
    fout << m % p;
}