Cod sursa(job #1419432)

Utilizator Burbon13Burbon13 Burbon13 Data 15 aprilie 2015 16:38:13
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <cstdio>

using namespace std;

const long long mod = 1999999973 ;

int main()
{
    freopen( "lgput.in" , "r" , stdin ) ;
    freopen( "lgput.out" , "w" , stdout ) ;

    long long nr , p, aux = 1 ;
    scanf( "%lld %lld" , &nr , &p ) ;

    while ( p > 1 )
    {
        if ( p % 2 )
        {
            aux *= nr ;
            aux %= mod ;
        }
        nr *= nr ;
        nr %= mod ;
        p /= 2 ;
    }

    nr *= aux ;
    nr %= mod ;

    printf( "%lld\n" , nr ) ;

    return 0;
}