Cod sursa(job #1605301)

Utilizator paulcodrea99Paul Codrea paulcodrea99 Data 18 februarie 2016 21:40:56
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <iostream>
#include <stdio.h>

#define mod 1999999973
using namespace std;

long long  N,P;

long long  putere(long long N, long long P)
{
    if(P==0)
        return 1;
    if((P & 1) == 0)
        return (putere(N*N, P/2))%mod;
    else return ((putere(N, P-1))%mod * N)%mod;

}


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

    scanf("%lld %lld", &N, &P);

    printf("%lld\n", putere(N,P));




    return 0;
}