Cod sursa(job #857116)

Utilizator robert_fanrRobert Banu robert_fanr Data 17 ianuarie 2013 12:26:17
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include <fstream>

using namespace std;

int main()
{
    const int r = 1999999973;
    int n, p, a;

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

    in >> n >> p;

    a = 1;
    while (p != 0) {
        if (p % 2 != 0)
            a = (int)((long long) a * n % r);
        n = (long long) n * n % r;
        p /= 2;
    }

    out << a % r;

    return 0;
}