Cod sursa(job #771613)

Utilizator mikeshadowIon Complot mikeshadow Data 26 iulie 2012 16:54:44
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <iostream>
#include <fstream>

using namespace std;

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

long n,m;

long put (int y)
{
	if (y==1) return n;
	if (y%2==0)
	{
		long tmp;
		tmp=(put(y/2)) % 1999999973;
		tmp=(tmp*tmp) % 1999999973;
		return tmp;
	} else 
	{
		long tmp;
		tmp=(put(y/2)) % 1999999973;
		tmp=(tmp*tmp) % 1999999973;
		tmp=(tmp*n) % 1999999973;
		return tmp;
	}
}

int main()
{
	afile>>n>>m;
	long rez;
	rez=put(m);
	bfile<<rez;
	return 0;
}