Cod sursa(job #2590481)

Utilizator raduandreiRadu Andrei raduandrei Data 28 martie 2020 01:48:11
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.48 kb
#include<bits/stdc++.h>

using namespace std;
ifstream in("lgput.in");
ofstream out("lgput.out");

#define mod 1999999973
long long putere(long long n, long long  p)
{
    if(p==0) return 1;
    if(p%2==0)
    {
        long long  nr=putere(n,p/2)%mod;
        return nr*nr%mod;
    }
    else
    {
        long long nr=putere(n,(p-1)/2)%mod;
        return n*nr*nr%mod;
    }
}
int main()
{
    long long N,P;
    in>>N>>P;
    out<<putere(N,P);
    return 0;
}