Cod sursa(job #631596)

Utilizator StefanLacheStefan Lache StefanLache Data 8 noiembrie 2011 20:42:37
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include<iostream>
#include<stdio.h>
#include<math.h>
using namespace std;
long long calc(int i,int j)
{
	if(j==0)
		return 1;
	if(j==1)
		return i;
	if(j%2==1)
		return i*calc(i,(j-1)/2)*calc(i,(j-1)/2);
	return calc(i,j/2)*calc(i,j/2);
}
int main()
{
	freopen("lgput.in","r",stdin);
	freopen("lgput.out","w",stdout);
	long long m=1999999973,i,j;
	scanf("%d%d",&i,&j);
	cout<<calc(i,j)%m;
	return 0;
}