Cod sursa(job #1854328)

Utilizator AlexandruLuchianov1Alex Luchianov AlexandruLuchianov1 Data 22 ianuarie 2017 16:35:51
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream in ("lgput.in");
ofstream out ("lgput.out");
long long const modulo = 1999999973;
long long lgpow(long long a ,long long b){
  if(b == 0){
    return 1;
  }
  long long result = lgpow(a ,b / 2);
  if(b % 2 == 0){
    return (result * result) % modulo;
  } else{
    return (a * result * result) % modulo;
  }
}
int main()
{
    long long a ,b;
    in>>a>>b;
    out<<lgpow(a , b);
    return 0;
}