Cod sursa(job #2044553)

Utilizator ana.pintiliciucAna Maria Pintiliciuc ana.pintiliciuc Data 21 octombrie 2017 11:03:01
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <cstdio>
#define MOD 1999999973

using namespace std;

long long n, p;

long long put(long long n, long long p)
{
    long long rez=1;
    while(p>0)
    {
        if(p%2==1)
        {
            p--;
            rez=rez*(n%MOD);
        }
        p/=2;
        n*=(n%MOD);

    }
    return rez;
}

int main()
{
    freopen("lgput.in","r",stdin);
    freopen("lgput.out", "w", stdout);
    scanf("%lld %lld", &n, &p);
    printf("%lld", put(n, p));

    return 0;
}