Cod sursa(job #404941)

Utilizator marius135Dumitran Adrian Marius marius135 Data 26 februarie 2010 23:18:35
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include<stdio.h>

#define modulo 1999999973


int main()
{
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	
	int a,b;
	scanf("%d %d",&a,&b);
	
	long long c = a;
	long long d = b, p = 1,rez = 1;
	while( d)
	{
		if( d & p)
		{
			rez = (rez * c) % modulo;
			d ^= p;
		}
		c = (c * c)% modulo;
		p *= 2;
		
	}
	
	printf("%d\n",(int)rez);
	return 0;
}