Cod sursa(job #1999103)

Utilizator vladcoroian2001Vlad Coroian vladcoroian2001 Data 10 iulie 2017 12:22:43
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <fstream>

using namespace std;
ifstream fi("lgput.in");
ofstream fo("lgput.out");
long long n,p;
long long exp(long long x,long long a)
{
    if(a==1)
        return x%1999999973;
    if(a==0)
        return 1%1999999973;
    if(a%2==0)
        return (exp(x*x,a/2))%1999999973;
    return (x*exp(x*x,(a-1)/2))%1999999973;
}
int main()
{
    fi>>n>>p;
    fo<<exp(n,p);
    fi.close();
    fo.close();
    return 0;
}