Pagini recente » Cod sursa (job #949800) | Cod sursa (job #3032808) | Cod sursa (job #3288135) | Cod sursa (job #1787506) | Cod sursa (job #2546306)
#include <fstream>
using namespace std;
ifstream fin("inversmodular.in");
ofstream fout("inversmodular.out");
long long lg_put(long long base, long long exp, long long mod)
{
long long p =1;
while(exp>0)
{
if(exp&1)
p = (p*(base%mod))%mod;
base = ((base%mod) * (base%mod))%mod;
exp = exp >>1;
}
return p;
}
///Daca exponentul este prim atunci solutia va fi base^(exp-2).
int main()
{
long long n, m;
fin>>n>>m;
fout<<lg_put(n, m-2, m)<<"\n";
return 0;
}