Cod sursa(job #196419)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 26 iunie 2008 13:32:03
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb
#include <stdio.h>

long n,p,MOD;

long long putere(long n,long p)
{
if (p%2) return (((((putere(n,p/2)%MOD)*(putere(n,p/2)%MOD))%MOD)*n)%MOD);
    else return ((putere(n,p/2)%MOD)*(putere(n,p/2)%MOD));
}

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

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