Cod sursa(job #325153)

Utilizator Abi79Iordache Albert Abi79 Data 19 iunie 2009 09:58:14
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include<stdio.h>

const int m=1999999973;

FILE *f=fopen("lgput.in","r"),*s=fopen("lgput.out","w");

unsigned int n,p;

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

int main()
{
	fscanf(f,"%d %d",&n,&p);
	fprintf(s,"%d",power(n,p));
	fclose(s);
	return 0;
}