Cod sursa(job #997168)

Utilizator KatyiaKatyia Katyia Data 13 septembrie 2013 14:15:53
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <fstream>
#define MOD 1999999973
using namespace std;

unsigned int power(unsigned int N, unsigned int P) {
 unsigned int k;
 if (P == 1)
   return N;
 if (k % 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;
}