Cod sursa(job #3331897)

Utilizator adinacevalaAdina Cevala adinacevala Data 1 ianuarie 2026 15:14:37
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>
#define int long long
#define cin fin
#define cout fout
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
const int mod=1999999973;
int exponentiere_rapida(int baza, int putere, int mod)
{
    if(putere==0)
        return 1;
    else
    {
        if(putere%2!=0)
        {
            return baza*exponentiere_rapida(baza,putere-1,mod);
        }
        else
        {
            int p=exponentiere_rapida(baza, putere/2,mod);
            return p*p;
        }
    }
}
int32_t main()
{
    int n,p;
    cin>>n>>p;
    cout<<exponentiere_rapida(n,p,mod);
}