Cod sursa(job #584268)

Utilizator informatician28Andrei Dinu informatician28 Data 24 aprilie 2011 20:49:59
Problema Ridicare la putere in timp logaritmic Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include<cstdio> 
using namespace std;
unsigned long long x,y,m; 
long long put(long long x,long long y)
{if(y==1) 
	return x;
	if(y%2) 
	{return (put(x,y-1)%m*x)%m;
	}
else {return ((put(x,y/2)%m)*(put(x,y/2)%m))%m;
	}
}
int main() 
{
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
scanf("%lld%lld", &x, &y);
m=1999999973;
printf("%lld\n",put(x,y)); 
return 0; 
}