Cod sursa(job #196420)

Utilizator AndreiDDiaconeasa Andrei AndreiD Data 26 iunie 2008 13:35:05
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 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))%MOD;
}   
  
int main()   
{   
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
MOD=1999999973;
scanf("%ld %ld",&n,&p);
printf("%lld\n",putere(n,p)%MOD);
return 0;
}