Cod sursa(job #1553440)

Utilizator D4n13LMuntean Dan Iulian D4n13L Data 19 decembrie 2015 20:53:02
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.5 kb
#include<stdio.h>
#include<stdlib.h>

int logpower(int n, int p)
{
	if(p == 0)
		return 1 % 1999999973;
	if( p %2  == 0)
		return (logpower(n,p/2) % 1999999973 ) * (logpower(n,p/2) %1999999973);
	return n * (logpower(n,(p-1)/2) % 1999999973 ) * (logpower(n,(p-1)/2) %1999999973);
	

int main(void)
{
	FILE * fin = fopen("lgput.in","rt");
	FILE * fout = fopen("lgput.out","wt");
	int n,p;
	fscanf(fin,"%d%d",&n,&p);
	int rp = logpower(n,p);
	fprintf(fout,"%d\n",rp);
	fclose(fin);
	fclose(fout);
	return 0;
}