Pagini recente » Cod sursa (job #2152273) | Cod sursa (job #2415269) | Cod sursa (job #2414953) | Cod sursa (job #1102609) | Cod sursa (job #1895802)
#include <fstream>
#include <math.h>
using namespace std;
ifstream f("inversmodular.in");
ofstream g("inversmodular.out");
unsigned long long a,b,nr;
unsigned long i;
int main()
{
f>>a>>b;
int ok=1;
for(int k=2;k<=sqrt(b)&&ok;k++)
if(b%k==0) ok=0;
b--;
if(ok) b--;
for(nr=1,i=(1<<31);i;i>>=1)
{
nr*=nr;
if(i&b) nr*=a;
}
if(ok) g<<nr%(b+2);
else g<<nr%(b+1);
return 0;
}