Cod sursa(job #638854)

Utilizator maritimCristian Lambru maritim Data 21 noiembrie 2011 19:34:16
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include<stdio.h>

#define Mod 1999999973

int N,P;

int lgput(int baza,int exp)
{
	if(exp == 1)
		return N;
	baza = lgput(baza,exp/2);
	baza = (baza*baza)%Mod;
	if(exp&1) baza = (baza*N)%Mod;
	return baza;
}

int main()
{
	FILE *f = fopen("lgput.in","r");
	FILE *g = fopen("lgput.out","w");
	
	fscanf(f,"%d %d",&N,&P);
	fprintf(g,"%d",lgput(N,P));
	
	fclose(g);
	fclose(f);
	return 0;
}