Pagini recente » Cod sursa (job #2917139) | Cod sursa (job #2387722) | Cod sursa (job #3230383) | Cod sursa (job #1557227) | Cod sursa (job #1345257)
#include <iostream>
#include <fstream>
using namespace std;
long long a,n,p,nr;
int puterea(int b,int k)
{
if(k==0)
return 1;
if(k>>1<<1==k)
{
b*=b;
b%=n;
k>>=1;
b=(puterea(b,k))%n;
}
else
{
long long c=b;
b*=b;
b%=n;
k>>=1;
b=(puterea(b,k)*c)%n;
}
return b;
}
int main()
{
int i,j;
FILE *f=fopen("inversmodular.in","r");
FILE *g=fopen("inversmodular.out","w");
fscanf(f,"%d %d",&a,&n);
fprintf(g,"%d\n",puterea(a,n-2));
return 0;
}