Cod sursa(job #2392049)

Utilizator AlbertUngureanuAlbert AlbertUngureanu Data 29 martie 2019 16:51:05
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.45 kb
#include <fstream>

using namespace std;

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

unsigned long long POW(int a, int b)
{
    unsigned long long rez=1, r=a;
    for(int i=0; (1<<i) <= b; ++i)
    {
        if( ( (1<<i) & b) > 0)
            rez= ( rez*r ) % 1999999973;
        r= ( r*r ) % 1999999973;
    }
    return rez;
}

int main()
{
    unsigned long long a,b;
    fin>>a>>b;
    fout<<POW(a,b);
    return 0;
}