Cod sursa(job #2691466)

Utilizator WilIiamperWilliam Damian Balint WilIiamper Data 28 decembrie 2020 19:38:05
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>

#define mod 1999999973

using namespace std;

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

int n;

int lgput ( int p ) {

    if ( p == 1 )
        return n;

    long long res;
    if ( p % 2 == 0 )
        res = lgput( p/2 ) * lgput ( p/2 );
    else
        res = lgput( p/2 ) * lgput ( p/2 ) * n;
    res %= mod;

    return res;
}

int main()
{
    int p;
    fin >> n >> p;
    fout << lgput ( p );
    return 0;
}