Cod sursa(job #1411813)

Utilizator jurjstyleJurj Andrei jurjstyle Data 31 martie 2015 22:53:39
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <iostream>
#include <fstream>

using namespace std ;

#define mod 1999999973

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

int a , n , p;


long long putere(long long a , long long n)
{
	if(n == 0)
		return 1;
	if(n % 2 == 1)
	{
		long long tmp = putere(a , n - 1);
		tmp *= a;
		return tmp % mod;
	}
	else
	{
		long long tmp = putere(a , n / 2);
		return (tmp * tmp) % mod;
	}
}

int main()
{
	f >> a >> n ;
	g << putere(a , n) % mod ;
	return 0;
}