Cod sursa(job #588144)

Utilizator maritimCristian Lambru maritim Data 7 mai 2011 01:01:35
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include<stdio.h>

#define mod 1999999973

int A;
int B;
unsigned long long MAX;
int nr = 0;

long long prod(long long a,long long B)
{
	a %= mod;
	if(B == 1)
		return a;
	else if(B%2)
		return a*prod(a*a,B/2)%mod;
	else
		return prod(a*a,B/2);
}

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