Cod sursa(job #327442)

Utilizator socheoSorodoc Ionut socheo Data 28 iunie 2009 21:53:39
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include<cstdio>

long long n,p,div=1999999973;

int putere(long long x)
{ if(x==0) return 1;
  else 	if(x%2==1) return (n*putere(x-1))%div;
        else { long long q=putere(x/2);
               return (q*q)%div;
		     }
	
}

int main()
{ freopen("lgput.in","r",stdin);
  freopen("lgput.out","w",stdout);
 scanf("%lld%lld",&n,&p);
printf("%lld",putere(p)); 
	
	
	return 0;}