Cod sursa(job #1922376)

Utilizator DysKodeTurturica Razvan DysKode Data 10 martie 2017 17:12:15
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <bits/stdc++.h>

using namespace std;

#define f first
#define s second

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

long long i,j,n,m;

long long put( long long x, long long p )
{
    long long ans,aux;
    if( p == 1 )
        return x;
    if( p == 0 )
        return 1;

    aux = put( x , p / 2 );
    ans = aux * aux;
    ans = ans % 1999999973;
    if( p % 2 )
        ans = x * ans;
    return ans % 1999999973;
}

int main()
{
    fin>>n>>m;
    fout<<put( n % 1999999973 , m );

return 0;
}