Cod sursa(job #584297)

Utilizator informatician28Andrei Dinu informatician28 Data 24 aprilie 2011 21:31:53
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include <cstdio>
#include<fstream>
using namespace std;
 
unsigned long long x,y,m;
long long put(long long x, long long y)
{if(y==0) return 1;
if(y<0) return (1/put(x,-y))%m;
if(y&1) 
	return (x*put(x,(y-1)))%m;
else return (put(x,y/2)*put(x,y/2))%m;
} 
int main(){
freopen("lgput.in","r",stdin);

m=1999999973;
scanf("%lld%lld",&x,&y);
ofstream g("lgput.out");
g<<put(x,y);
return 0;
}