Cod sursa(job #397350)

Utilizator sory1806Sandu Sorina-Gabriela sory1806 Data 16 februarie 2010 20:24:17
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include<stdio.h>
#define mod 1999999973
int p, n, x;
FILE *f, *g;

int power(int n, int p)
{ 	if(p==0)
		return 1;
	if(p%2==1)
		return ( ( n*power(n, (p-1)/2)*power(n, (p-1)/2) )%mod );
	else
		return ( ( power(n, p/2)*power(n, p/2) )%mod );
}

int main()
{	f=fopen("lgput.in", "r");
	g=fopen("lgput.out", "w");
	fscanf(f, "%d%d", &n, &p);
	x=power(n, p);
	fprintf(g, "%d\n", x);
	return 0;
}