Cod sursa(job #396208)

Utilizator SzabiVajda Szabolcs Szabi Data 14 februarie 2010 18:59:42
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <stdio.h>

long long   n,p;
long const m=1999999973;

long long  hatvany(long long  n,long  long p){
	long long temp;
	
	if(p==0){return 1;}else{
		if(p%2==0){temp=hatvany(n,p/2);
		return (temp*temp)%m;}else{
		temp=hatvany(n,(p-1)/2); 
		return n*temp*temp%m;

	}}
}

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

scanf("%ld %ld",&n,&p);

printf("%ld",hatvany(n,p));

return 0;
}