Pagini recente » Cod sursa (job #2924812) | Cod sursa (job #2674735) | Cod sursa (job #3226817) | Cod sursa (job #1484373) | Cod sursa (job #2495028)
#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 (r*r*a)%n;
return (r*r)%n;
}
int invmod(int a,int p){
return explog(a,p-2);
}
int main(){
fin>>a>>n;
fout<<invmod(a,n);
return 0;
}
///p prim, (a,p)=1 => a^(p-1) da restul 1 la imp cu p