Cod sursa(job #2047953)

Utilizator Stefan352000Corneteanu Stefan Stefan352000 Data 25 octombrie 2017 17:29:18
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb
#include <fstream>
using namespace std;
ifstream fin ("lgput.in");
ofstream fout ("lgput.out");
long long n,p;

const int mod=1999999973;
int plog(long long p)
{
    int r;
    if (p==1)
        return n;
    r=plog(p/2);
    r=(1ll*r*r)%mod;
    if (p%2!=0)
        r=(1ll*r*n)%mod;
    return r;
}
int main()
{
    fin>>n>>p;
    fout<<plog(p);
    return 0;
}