Cod sursa(job #936580)

Utilizator diana20Dersedan Diana diana20 Data 7 aprilie 2013 19:39:21
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include<iostream>
#include<fstream>
using namespace std;
int n,p;

long long pow ( int a, int b )
{
	if(b==1) return a%1999999973;
	if(b%2==0)
	{
		long long r;
		r= pow(a,b/2)%1999999973;
		return (r*r)%1999999973;
	}
	else
	{
		long long r;
		r= pow(a,b/2)%1999999973;
		return (r*r*a)%1999999973;
	}
}

int main()
{
	ifstream f("lgput.in");
	ofstream g("lgput.out");
	f>>n>>p;
	if(p==0) 
		g<<1;
	else
		g<<pow(n,p);
	return 0;
}