Cod sursa(job #1292953)

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

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

int number, exponent;

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

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

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