Cod sursa(job #2691470)

Utilizator WilIiamperWilliam Damian Balint WilIiamper Data 28 decembrie 2020 20:02:33
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.46 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 temp = lgput ( p/2 );
    long long res = temp * temp;
    res %= mod;
    if ( p % 2 == 1 )
        res *= n;
    res %= mod;

    return res;
}

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