Cod sursa(job #2812231)

Utilizator MariusAndrei16Pricope Marius MariusAndrei16 Data 4 decembrie 2021 11:18:51
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 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;
}