Pagini recente » Cod sursa (job #3169975) | Cod sursa (job #937061) | Cod sursa (job #1493234) | Cod sursa (job #2983665) | Cod sursa (job #2976404)
#include <iostream>
#include <fstream>
using namespace std;
const int MOD = 1999999973;
ifstream f("lgput.in");
ofstream g("lgput.out");
/**
long long powlg(long long a, long long p)
{
long long val = 1, x = a % MOD;
while(p > 0)
if(p % 2 == 0)
{
x = x * x % MOD;
p /= 2;
}
else
{
val = val * x % MOD;
p--;
}
return val;
}
*/
long long powlg(long long a, long long p)
{
long long val = 1, x = a % MOD;
while(p > 0)
{
if(p % 2 != 0)
val = val * x % MOD;
x = x * x % MOD;
p /= 2;
}
return val;
}
/**
int powlg(long long a, long long p)
{
long long x = a % MOD;
int val = 1;
while(p > 0)
{
if(p & 1) ///if((p & 1) != 0)
val = val * x % MOD;
x = x * x % MOD;
p >>= 1;
}
return val;
}
*/
int main()
{
long long N, P;
f >> N >> P;
g << powlg(N, P);
f.close();
g.close();
return 0;
}