Cod sursa(job #1649783)

Utilizator lonca.sorinLonca Sorin lonca.sorin Data 11 martie 2016 15:05:31
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <queue>
#include <cstring>

using namespace std;

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

long long n,x;
const int m =1999999973;

int lgput(int baza, int exponent){
    if (exponent==1)
        return baza%m;
    int rez=lgput(baza,exponent/2)%m;
    if (exponent%2==0)
        return (rez*rez)%m;
    else
        return (rez*rez*baza)%m;
}

int main(){
    f>>n>>x;
    cout<<lgput(n,x)%m;
    return 0;
}