Cod sursa(job #2076680)

Utilizator dey44andIoja Andrei-Iosif dey44and Data 26 noiembrie 2017 22:11:11
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <iostream>
#include <fstream>
#define mod 1999999973
typedef long long ll;

using namespace std;

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

int exponentiere(ll x, ll n)
{
    x = x % mod;
    if(n==1) return x;
    if(n%2==0) return exponentiere((x * x) % mod,  n / 2 ) % mod;
    return (x * exponentiere(x , n - 1 )) % mod;
}

int main()
{
    ll baza, exponent;
    in >> baza >> exponent;
    out << exponentiere(baza, exponent);
    return 0;
}