Cod sursa(job #2495043)

Utilizator divianegoescuDivia Negoescu divianegoescu Data 18 noiembrie 2019 19:54:26
Problema Invers modular Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.43 kb
#include <fstream>
using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
int a,n;
int explog(int a,int p){
    if(p==0)return 1;
    int r=explog(a,p/2);
    if(p%2==1)return (1LL*r*r*a)%n;
    return (1LL*r*r)%n;
}
int invmod(int a){
    return explog(a,n-2);
}
int main(){
    fin>>a>>n;
    fout<<invmod(a);
    return 0;
}
///p prim, (a,p)=1 => a^(p-1) da restul 1 la imp cu p