Cod sursa(job #1006458)

Utilizator pop_bogdanBogdan Pop pop_bogdan Data 7 octombrie 2013 08:30:02
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <fstream>
using namespace std;

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

int ExponentiereRapida(int x,int n)
{
	if ( n == 0 )
	return 1;
	if ( n == 1 )
	return x;
	if ( n % 2 == 0 )
	return ExponentiereRapida( x*x, n/2 );
	if ( n % 2 == 1 )
    return ExponentiereRapida( x*x, (n-1)/2 );
}

int main()
{
    long long r,n,p;
    is >> n;
    is >> p;
    r = ExponentiereRapida(n,p)%1999999973 ;
    os << r;
}