Cod sursa(job #2532052)

Utilizator Vlad1234Silaghi Vlad Vlad1234 Data 27 ianuarie 2020 10:52:20
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int N, P, MOD = 1999999973;

int ridicare_logaritmica(int N, int P)
{
    int r = 1;

    while(P)
    {
        if(P % 2 == 1)
            r = (1LL * r * N) % MOD;

        N = (N * N * 1LL) % MOD;
        P /= 2;
    }

    return r;
}

int main()
{
    in >> N >> P;
    out << ridicare_logaritmica(N, P);

    return 0;
}