Cod sursa(job #721695)

Utilizator ioanabIoana Bica ioanab Data 23 martie 2012 23:51:06
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.36 kb
#include <fstream>
using namespace std;

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

int m=1999999973;

int put(int a,int b)
{
	int x;
	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()
{
	int a,b,p;
	in>>a>>b;
	p=put(a,b);
	out<<p;
}