Cod sursa(job #2000571)

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

using namespace std;

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


int rezolvare(int putere, int numar){

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

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