Cod sursa(job #1786117)

Utilizator antracodRadu Teodor antracod Data 22 octombrie 2016 13:58:41
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int MOD = 1999999973;

long long int pow(long long int base,long long int y)
{
    long long int sol=1;
    while(y>=1)
    {
        if(y%2==0)
        {
            base=base*base%MOD;
            y=y/2;
        }
        else
        {
            sol=sol*base%MOD;
            y--;
        }
    }
    return sol;
}


int main()
{
    long long int x,y;
    in>>x>>y;
    out<<pow(x,y);
}