Cod sursa(job #2000581)

Utilizator ruxandramateiMatei Ruxandra ruxandramatei Data 14 iulie 2017 10:38:01
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream in("lgput.in");
ofstream out("lgput.out");


long long rezolvare(long long putere, long long numar){
  if(putere == 0)
    return 1;
  if(putere == 1)
    return numar % 1999999973;
  if(putere % 2 == 0)
    return rezolvare (putere / 2, numar * numar) %  1999999973;
  else
    return  (numar * rezolvare((putere - 1) / 2, numar * numar)) %  1999999973;
}

int main(){
  long long nr;
  long long putere;
  in >> nr >> putere;
  out << rezolvare(putere, nr) ;
  return 0;
}