Cod sursa(job #2812230)

Utilizator MariusAndrei16Pricope Marius MariusAndrei16 Data 4 decembrie 2021 11:17:42
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int N, P;

const int MOD = 1999999973; 

long long RidicarePutere(int N, int P)
{
    long long result = 1;
    while(P)
    {
        if(P % 2 != 0)
            result = (long long) (result * N) % MOD;
        N = (long long)(N * N) % MOD;
        P/=2;
    }

    return result;
}


int main()
{
    in >> N >> P;
    out << RidicarePutere(N,P);
    return 0;
}