Cod sursa(job #2192295)

Utilizator IMSAIDPopescu Marin IMSAID Data 5 aprilie 2018 14:24:17
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <iostream>
#include <fstream>
using namespace std;

const int MOD = 1999999973;

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

long long putere(long long n, long long p)
{
    long long a = n % MOD, x = 1;
    while(p > 0)
        {
            while(p % 2 == 0)
                {
                    a = a * a % MOD;
                    p /= 2;
                }
            x = x * a % MOD;
            p--;
        }
    return x;
}

int main()
{
    long long n, p;
    f >> n >> p;
    g << putere(n, p);
    return 0;
}