Cod sursa(job #559287)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 17 martie 2011 19:09:22
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include<stdio.h>
#define i64 long long
#define MOD 1999999973

FILE*f=fopen("lgput.in","r");
FILE*g=fopen("lgput.out","w");

i64 a,b,Sol;

i64 lgput( i64 b ){
	if ( b < 2 ){
		if ( !b )
			return 1;
		return a;
	}
	i64 aux = lgput(b/2);
	if ( b & 1 )
		return (aux * aux * a) % MOD ;
	return (aux * aux) % MOD ;
}

int main () {
	fscanf(f,"%lld %lld",&a,&b);
	
	Sol = lgput(b);
	
	fprintf(g,"%lld\n",Sol);
	
	fclose(f);
	fclose(g);
	
	return 0;
}