Cod sursa(job #1786114)

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

using namespace std;

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

const int MOD = 1999999973;

int pow(int base,int y)
{
    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()
{
    int x,y;
    in>>x>>y;
    out<<pow(x,y);
}