Cod sursa(job #1909000)

Utilizator nicu_serteSerte Nicu nicu_serte Data 7 martie 2017 11:19:41
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
unsigned long long pow(unsigned long long x, unsigned long long n)
{
    unsigned long long p=1;
    while(n>0)
    {
        if(n%2==1)
        {
            p=(p*x)%1999999973;
            n--;
        }
        n=n/2;
        x=(x*x)%1999999973;
    }
    return p;
}
int main()
{
    unsigned long long n, p;
    fin>>n>>p;
    fout<<pow(n, p);
    return 0;
}