Cod sursa(job #338951)

Utilizator radu_cppRadu Voroneanu radu_cpp Data 7 august 2009 16:29:54
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <stdio.h>
#define MODUL 1999999973

long long a,b;

long long put(long long a, long long b)
{
	long long r;
	if (b==0) return 1;
	if (b & 1 == 1)
		return (a * put(a,b-1)) % MODUL;
	r=put(a,b/2);
	return (r*r) % MODUL;
}

int main()
{
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	scanf("%lld %lld",&a,&b);
	printf("%lld\n", put(a,b));
	fclose(stdin); fclose(stdout);
	return 0;
}