Cod sursa(job #382509)

Utilizator rayvianPricope Razvan rayvian Data 13 ianuarie 2010 20:04:28
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator c Status done
Runda Arhiva educationala Marime 0.38 kb
#include <stdio.h>
#include <stdlib.h>

const int c=1999999973;
int n,p;
int modulo(int x,int n)
{
	if(n==0)
		return 1;
	if(n%2==1)
		return x*modulo(x,n-1)%c;
	else
	{
		int p=modulo(x,n/2);
		p*=p;
		return p%c;
	}
}

int main()
{
	freopen("lgput.in","r",stdin);
	scanf("%d %d",&n,&p);
	freopen("lgput.out","w",stdout);
	printf("%d",modulo(n,p)%c);
	return 0;
}