Pagini recente » Cod sursa (job #1218827) | Cod sursa (job #286586) | Cod sursa (job #1206329) | Cod sursa (job #1079880) | Cod sursa (job #2378967)
#include<cstdio>
using namespace std;
long long unsigned ridicareLaPutere(long long unsigned x, long long unsigned y)
{
if(y==2)
return x*x;
if(y==1)
return x;
if(y==0)
return 1;
if(y%2==1)
x=ridicareLaPutere(x,y/2)*ridicareLaPutere(x,y/2+1);
else
x=ridicareLaPutere(x,y/2)*ridicareLaPutere(x,y/2);
x%=1999999973;
return x;
}
int main ()
{
FILE *f,*g;
long long unsigned a,b;
f=fopen("lgput.in", "r");
fscanf(f, "%llu", &a);
fscanf(f, "%llu", &b);
fclose(f);
a = ridicareLaPutere(a,b);
a%=1999999973;
g=fopen("lgput.out", "w");
fprintf(f, "%llu", a);
fclose(g);
return 0;
}