Cod sursa(job #997201)

Utilizator KatyiaKatyia Katyia Data 13 septembrie 2013 15:07:21
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#innclude <fstream>
#define MOD 1999999973
using namespace std;
 
unsigned int power(unsigned int N, unsigned int P) {
 unsigned int k;
 if (P == 0)
   return 1;
 if (P % 2 == 0) {
   k = power(N, P/2);
   return (long long) (k * k) % MOD;  
 } else {
   return (long long) (N * power(N, P - 1)) % MOD;
 } 
}
 
int main() {
 
  ifstream in("lgput.in");
  ofstream out("lgput.out");
  unsigned int N, P;
 
  in>>N>>P;
  out<<power(N,P);
   
  return 0;
}