Cod sursa(job #1995086)

Utilizator DawlauAndrei Blahovici Dawlau Data 26 iunie 2017 22:21:32
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include<fstream>
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
const int MOD=1999999973;
unsigned long long pwr2(unsigned long long n,unsigned long long p){
    if(p==1)
        return n%MOD;
    else{
        if(p%2==0)
            return (pwr2(n,p/2)%MOD*pwr2(n,p/2)%MOD)%MOD;
        else
            return (pwr2(n,p-1)%MOD*n%MOD)%MOD;
    }
}
unsigned long long n,p;
int main(){
    fin>>n>>p;
    fout<<pwr2(n,p);
}