Pagini recente » Diferente pentru probleme-de-taietura intre reviziile 96 si 95 | Monitorul de evaluare | Diferente pentru preoni-2006/runda-4/solutii intre reviziile 27 si 11 | Diferente pentru autumn-warmup-2007/solutii/runda-3 intre reviziile 48 si 49 | Cod sursa (job #1234080)
#include <fstream>
using namespace std;
#define MOD 1999999973
long long lgput(long long n, long long p)
{
if( p == 0 ) return 1;
if( p == 1 ) return n % MOD;
if( p%2 == 0 ) return ( (lgput(n,p/2)%MOD) * (lgput(n,p/2)%MOD) )%MOD;
if( p%2 == 1 ) return ( (lgput(n,p-1)%MOD) * (n%MOD) )%MOD;
}
int main()
{
ifstream inFile("lgput.in");
ofstream outFile("lgput.out");
long long n, p;
inFile >> n >> p;
outFile << lgput(n,p);
}