Cod sursa(job #900935)

Utilizator Alex_Merceraaaaaaa Alex_Mercer Data 28 februarie 2013 22:53:18
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <cstdio>

#define mod 1999999973

using namespace std;

long long n,p,r;

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

    scanf ("%lld %lld",&n,&p);
    r=1;

    while (p>1)
        if (p%2 == 1) r = (r*n) % mod;
        else
        {
            n = ( n * n ) % mod;
            p/=2;
        }

    printf ("%lld\n",(n*r)/mod);

    return 0;
}