Cod sursa(job #2292372)

Utilizator miruna1224Floroiu Miruna miruna1224 Data 29 noiembrie 2018 14:13:46
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <iostream>
#include <fstream>

using namespace std;

const int N = 1999999973;

long long int lgput(long long int exp, long long int x)
{
    long long int sol = 1;
    while (x)
    {
        if (x & 1)
            sol = sol * exp %N;
        exp = exp * exp % N;
        x = x >> 1;
    }
    return sol;
}

int main()
{
    ifstream in ("lgput.in");
    ofstream out ("lgput.out");

    int exponent, baza;
    in >> exponent >> baza;

    out << lgput ( exponent, baza );

    in.close();
    out.close();

    return 0;
}