Cod sursa(job #957851)

Utilizator teoionescuIonescu Teodor teoionescu Data 6 iunie 2013 10:08:40
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include <fstream>
using namespace std;
ifstream in("lgput.in");
ofstream out("lgput.out");
long long a,b;
const long long M =  1999999973;
long long logpow(long long x,long long n){
   if(n==1) return x%M;
   if(n%2==0){
      return (logpow((x*x)%M,n/2))%M;
   }
   else{
      return (x*(logpow((x*x)%M,(n-1)/2))%M)%M;
   }
}
int main(){
   in>>a>>b;
   out<<logpow(a,b)%M;
   return 0;
}