Cod sursa(job #1554426)

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

long long p,r=1,n;

long long putere(long long r,long long p,long long n)
{
    while(p>=1)
    {
        if(p%2 == 1)
        {
            r=(r*n)%mod;
            p--;
        }
        else
        {
            n=(n*n)%mod;
            p=p/2;
        }
    }
    return r;
}

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

    scanf("%lld%lld",&n,&p);
    r=putere(r,p,n);
    printf("%lld",r);
    return 0;
}