Cod sursa(job #3294068)

Utilizator filipdanieloanFilip-Daniel Oancea filipdanieloan Data 15 aprilie 2025 16:38:30
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.41 kb
// #include<iostream>
#include<fstream>
#define nmax 1999999973
using namespace std;

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

long long n, p;

long long Putere(long long a, long long N){
    int P = 1;
    N %= nmax;
    while(N){
        if(N%2 == 1)
            P = (P*a)%nmax;
        a = (a*a)%nmax;
        N = (N/2)%nmax;
    }
    return P;
}

int main(){
    cin >> n >> p;
    cout << Putere(n, p);
}