Cod sursa(job #721702)

Utilizator ioanabIoana Bica ioanab Data 24 martie 2012 00:02:37
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <fstream>
using namespace std;

ifstream in("lgput.in");
ofstream out("lgput.out");

long long m=1999999973;

long long put(long long a,long long b)
{
	long long x;
	if(b==0)
		return 1;
	if(b==1)
		return a%m;
	if(b%2==0)
	{
		x=put(a,b/2);
		return (x*x)%m;
	}
	if(b%2==1)
	{
		x=put(a,b/2);
		return ((x*x)%m*a%m)%m;
	}
}

int main()
{
	long long a,b,p;
	in>>a>>b;
	p=put(a,b);
	out<<p;
}