Cod sursa(job #3198476)

Utilizator vlad_miscociMiscoci Vlad Andrei vlad_miscoci Data 29 ianuarie 2024 16:25:48
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.45 kb
#include <fstream>

using namespace std;
int mod = 1999999973;
int exp(int x, int y)
{
    if(y == 0)
        return 1;
    if(y % 2 == 1)
        return x * exp(x, y - 1) % mod;
    else
    {
        int pow = exp(x, y / 2) % mod;
        return ((pow % mod) * (pow % mod)) % mod;
    }
}
int main()
{
    ifstream cin("lgput.in");
    ofstream cout("lgput.out");
    int n, p;
    cin >> n >> p;
    cout << exp(n, p);
    return 0;
}