Cod sursa(job #3176939)

Utilizator KiminChivu Mihail Kimin Data 28 noiembrie 2023 09:22:05
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream in("lgput.in");
ofstream out("lgput.out");
const unsigned long long J=1999999973;

unsigned long long rest_pow(unsigned long long a,unsigned long long b){
    if(b==0){
        return 1;
    }
    unsigned long long rez=rest_pow(a,b/2);
    if(b%2==0){
        return ((rez%J)*(rez%J))%J;
    }else{
        return ((a*rez)%J*rez)%J;
    }
}

int main()
{
    unsigned long long N,P;
    in>>N>>P;
    out<<rest_pow(N,P)<<endl;
    return 0;
}