Cod sursa(job #302700)

Utilizator n3msizN3msiz n3msiz Data 9 aprilie 2009 10:30:14
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include<stdio.h>
#define MOD 1999999973

long long a,b;

long long putere(long long a, long long b) {
	long long p;
	if (b) {
		p = putere(a,b>>1);
		if (b%2==0) 
			return (p*p)%MOD;
		else
			return ((p*p)%MOD*a)%MOD;
	} else return 1;
}

int main(){
	FILE *f = fopen("lgput.in","r");
	fscanf(f,"%lld %lld",&a, &b);
	fclose(f);

	FILE *g = fopen("lgput.out","w");
	fprintf(g,"%lld",putere(a,b));
	fclose(g);
	return 0;
}