Cod sursa(job #2462560)

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

using namespace std;

long long int power(long long int n, long long int p)
{
    long long 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);
    }
}

ifstream fin("lgput.in");
ofstream fout("lgput.in");

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