Cod sursa(job #2462557)

Utilizator razvanalexalex.1983 razvanalex Data 27 septembrie 2019 16:27:34
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 kb
#include <iostream>

using namespace std;

long long int power(long long int n, long long int p)
{
    int k;
    if(n==0)
        return 0%1999999973;
    if(p==0)
        return 1%1999999973;
    if(p%2==0)
    {
        k=p/2;
        return ((power(n,k)%1999999973)*(power(n,k)%1999999973)%1999999973);
    }
    else
    {
        return ((power(n,p-1)%1999999973)*(n%1999999973)%1999999973);
    }
}

int main()
{
    long long int n, p;
    cin>>n>>p;
    cout<<power(n,p)%1999999973;
    return 0;
}