Cod sursa(job #1344993)

Utilizator Balescu_OvidiuBalescu Ovidiu-Gheorghe Balescu_Ovidiu Data 17 februarie 2015 10:14:38
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <stdio.h>
#define p 1999999973
unsigned long a,b;
inline unsigned long powtt(){
	if(!a)
		return 0;
	if(!b)
		return 1;
	if(b==1)
		return a%p;
	a%=p;
	if(b%2==0)
		return powtt(a,b/2)*powtt(a,b/2);
	return powtt(a,b-1)*a;
}
int main(){
	FILE*f=fopen("lgput.in","r");
	fscanf(f,"%ld %ld",&a,&b);
	fclose(f);
	FILE*g=fopen("lgput.out","w");
	fprintf(g,"%ld",powtt();
	fclose(g);
	return 0;
}