Cod sursa(job #1914951)

Utilizator Constantin.Dragancea Constantin Constantin. Data 8 martie 2017 19:06:00
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <bits/stdc++.h>
#define m 1999999973
#define ull unsigned long long
using namespace std;

ull ans,n,p;

int lgput(ull x, ull j){
    ull ans=1;
    if (j==0) return ans%m;
    else if (j==1) return x%m;
    else {
        if (j%2==1) ans*=x%m*lgput(x%m*x%m,j/2)%m;
        else ans*=lgput(x%m*x%m,j/2)%m;
        return ans%m;
    }
}

int main(){
    ifstream cin ("lgput.in");
    ofstream cout ("lgput.out");
    cin>>n>>p;
    cout<<lgput(n,p);
    return 0;
}