Cod sursa(job #559521)

Utilizator mihaipopa12Popa Mihai mihaipopa12 Data 17 martie 2011 21:20:01
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 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 == 0 ){
		return 1;
	}
	i64 aux = lgput(b/2);
	if ( b & 1 )
		return (((aux * aux) % MOD) * 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;
}