Cod sursa(job #1554403)

Utilizator cristina-criCristina cristina-cri Data 21 decembrie 2015 12:29:14
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <cstdio>
#define mod 1999999973
using namespace std;

long long p,r=1,n;

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

    scanf("%lld%lld",&n,&p);

    while(p>1)
    {
        if(p%2 == 1)
        {
            r=r*(n%mod);
            p--;
        }
        else
        {
            n=n*(n%mod);
            p=p/2;
        }
    }
    if(r==1)
        r=r*(n%mod);
    printf("%lld",r);
    return 0;
}