Cod sursa(job #1422990)

Utilizator greenadexIulia Harasim greenadex Data 20 aprilie 2015 18:17:59
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <fstream>

using namespace std;

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

int main()
{
    long long n, p, nr, mod = 1, m = 1999999973;
    fin >> n >> p;
    nr = n;
    for (long long i = 0, bit = (1 << 0); bit <= p; i++){
        if (bit & p)
            mod = (nr * mod) % m;
        nr = (nr * nr) % m;
        bit = (1 << (i + 1));
    }
    fout << mod;
    return 0;
}