Cod sursa(job #1346263)

Utilizator lacraruraduRadu Matei Lacraru lacraruradu Data 18 februarie 2015 09:28:34
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <fstream>

using namespace std;

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

const int MOD = 1999999973;

int putere(int n, long long p)
{
    int ret = 1, aux = n;
    for(long long i = 1; i <= p; i = i << 1)
    {
        if(i & p)
            ret = ret * aux;
        aux *= aux;
        ret %= MOD;
        aux %= MOD;
    }
    return ret;
}

int main()
{
    int n;
    long long p;
    in >> n >> p;
    out << putere(n, p);
    return 0;
}