Cod sursa(job #317437)

Utilizator BaduBadu Badu Badu Data 23 mai 2009 16:52:56
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
//ridicare la putere logaritmic
#include<stdio.h>
#define MOD 1999999973

FILE *f,*g;
unsigned long a,b,r=1;

int calc ( int x, int y){

	if ( y==1 ){r*=x%MOD;return 1;}
	if ( y&1  ){r*=(calc(x,y/2)*calc(x,y/2)*calc(x,1));}
	else {r*=calc(x,y/2)*calc(x,y/2);}
	return 1;

}

int main(){

	f = fopen("lgput.in","rt");
	g = fopen("lgput.out","wt");

	fscanf(f,"%ld%ld",&a,&b);
	calc(a,b);
	fprintf(g,"%ld",r);

	return 0;
}