Cod sursa(job #1533098)

Utilizator catalin9898Bajenaru Catalin catalin9898 Data 22 noiembrie 2015 00:54:27
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <stdio.h>

using namespace std;
long long c=1;
int fct(long long n,long long p)
{if(p==1)return n;
    if(p%2==0){p/=2;n=(n*n)%1999999973;fct(n,p);}
    else{c=(c*n)%1999999973;p--;p/=2;n=(n*n)%1999999973;fct(n,p); }
}

int main()
{   freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    long long n,p,a;
     scanf("%lld%lld",&n,&p);
     a=fct(n,p);
a=(a*c)%1999999973;
     printf("%lld",a);
    return 0;
}