Cod sursa(job #147260)

Utilizator the1dragonIonita Alexandru the1dragon Data 2 martie 2008 18:49:57
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include<stdio.h>
#define MOD 1999999973

int main()
{
	freopen("lgput.in", "r", stdin);
	freopen("lgput.out", "w", stdout);
	
	long long a, b, sol=1;
	int i=0;
	
	scanf("%d %d", &a, &b);
	while (1<<i <= b) ++i;
	--i;
	for (; i>=0; i--)
	{
		sol*=sol;
		sol%=MOD;
		if (b& (1<<i))
			sol*=a;
		sol*=MOD;
	}
	sol%=MOD;
	printf("%d", sol);
	fclose(stdout);
	return 0;
}