Cod sursa(job #2222806)

Utilizator gabrielinelusGabriel-Robert Inelus gabrielinelus Data 18 iulie 2018 01:51:24
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <bits/stdc++.h>

using namespace std;

const long long mod = 1999999973;

long long lgput(long long A, long long B)
{
    if (B == 0)
        return 1;
    if (B & 1)
        return lgput((A*A) % mod, B / 2);
    return (A * lgput( (A * A) % mod, B / 2)) % mod;
}

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

    long long A, B;
    fin >> A >> B;
    fout << lgput(A, B);

    return 0;
}