Cod sursa(job #2597009)

Utilizator blotucosmincosmin blotucosmin Data 10 aprilie 2020 22:35:59
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int MOD = 1999999973;

int lgput(int n, int p)
{
    int r = 1;
    for(int i = 0; (1 << i) <= p; ++ i)
    {
        if( ((1 << i) & p) != 0)
            r = (r % MOD * n % MOD) % MOD;
        n = (n % MOD * n % MOD) % MOD;
    }
    return r;
}
int a, b;
int main()
{
    f >> a >> b;
    g << lgput(a, b);
    return 0;
}