Pagini recente » Cod sursa (job #2550902) | Utilizatori inregistrati la ONIS 2015, Runda 2 | Cod sursa (job #348362) | Cod sursa (job #607665) | Cod sursa (job #1459139)
#include <iostream>
#include <fstream>
#include <cstdio>
using namespace std;
const char iname[] = "lgput.in";
const char oname[] = "lgput.out";
const int mod = 1999999973;
int main()
{
FILE *in = fopen(iname, "r");
FILE *out = fopen(oname, "w");
long int r, a;
long int n, p;
fscanf(in, "%ld %ld", &n, &p);
r = 1;
a = n;
while(p > 1)
{
if(1 & p)
{
r = (r * a)%mod;
a = (a * a)%mod;
p = (p-1)/2;
}
else
{
a = (a * a)%mod;
p = p / 2;
}
}
r = (r*a)%mod;
fprintf(out, "%ld", r);
return 0;
}