Cod sursa(job #393606)

Utilizator vladbBogolin Vlad vladb Data 9 februarie 2010 18:40:23
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include<stdio.h>

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

long long putere(long long n,long long p)
{	if(p==0) return 1;
	else if(p%2==0)  return putere((n*n)%k,p/2)%k;
		else return (n*putere((n*n)%k,p/2)%k)%k;
}

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