Cod sursa(job #2576222)

Utilizator Turturica_DorinTurturica Dorin Turturica_Dorin Data 6 martie 2020 17:56:05
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <iostream>
#include <fstream>
#include <queue>
#include <vector>

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

#define MOD 1999999973

long long n, p;

long long putere( int p )
{
    if ( p == 1 )
    {
        return n % MOD;
    }
    else
    {
        long long x;
        x = putere( p / 2 );
        if ( p % 2 == 0 )
            return ( x * x ) % MOD;
        return ( x * (( x * ( n % MOD ) ) % MOD) ) % MOD;
    }
}

int main ()
{
    fin >> n >> p;
    fout<< putere( p );
}