Cod sursa(job #771614)

Utilizator mikeshadowIon Complot mikeshadow Data 26 iulie 2012 17:01:04
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>
#include <fstream>

using namespace std;

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

long long n,m;

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

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