Cod sursa(job #191860)

Utilizator Omega91Nicodei Eduard Omega91 Data 29 mai 2008 11:57:15
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include <cstdio>
#define MOD 1999999973

long putere(long n, long p)
{
	if (!p) return 1;
	if (p & 1) return n * putere(n, p - 1);
	else {
		long q;
		q = putere(n, p / 2);
		return q * q;
	}
}

int main()
{
	int n, p;
	FILE *f1, *f2;
	f1 = fopen("lgput.in", "r");
	f2 = fopen("lgput.out", "w");
	fscanf(f1, "%d %d", &n, &p);
	fprintf(f2, "%d\n", putere(n, p) % MOD);
	fclose(f1);
	fclose(f2);
	return 0;
}