Cod sursa(job #1292954)

Utilizator AnesthesicChereches Sergiu Alexandru Anesthesic Data 15 decembrie 2014 01:29:16
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <fstream>
#define mod 1999999973
using namespace std;

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

long long  number, exponent;

unsigned long long quick_exponential(long long  number, long long  exponent){
    if(exponent==0) return 1%mod;
    if(exponent==1) return number%mod;
    if(exponent%2==0) return quick_exponential((number*number), (exponent/2))%mod;
    return quick_exponential((number*number), (exponent-1)/2)%mod;

}
void second_main(){
    fin >> number >> exponent;
    fout << quick_exponential(number, exponent);
}

int main(){
    second_main();
    return 0;
}