Cod sursa(job #584215)

Utilizator informatician28Andrei Dinu informatician28 Data 24 aprilie 2011 17:04:47
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include<fstream> 
using namespace std; 
ifstream f("lgput.in");
ofstream g("lgput.out");
long long x,n;
long long rid(long long baza,long long expo) 
{long long k, p;
p=1;
for(k=1;k<=expo;k++) 
	p*=baza; 
return p;
}
int main() 
{
f>>x>>n; 
if(n==0) g<<1;
else if(n%2==0) g<<rid(rid(x,n/2),2) % 1999999973;
else if(n%2!=0) g<<x*rid(rid(x,(n-1)/2),2)%1999999973; 
return 0; 
}