Pagini recente » Cod sursa (job #1565309) | Cod sursa (job #67799) | Cod sursa (job #837841) | Cod sursa (job #3291475) | Cod sursa (job #2045108)
#include<fstream>
using namespace std;
int main()
{
ifstream read("lgput.in");
ofstream write("lgput.out");
unsigned long long int n;
unsigned long long int p;
read>>n>>p;
unsigned long long int lgput = 1;
unsigned long long int cur_power = 0;
unsigned long long int squares = 1;
unsigned long long int h = (n % 1999999973);
while(p != 0)
{
while(2 * cur_power + 1 <= p)
{
lgput = (lgput * h) % 1999999973;
cur_power = squares * 2 - 1;
squares = squares * 2;
h = ( h * h ) % 1999999973;
}
p = p - cur_power;
cur_power = 1;
h = n;
squares = 1;
}
write<<lgput;
return 0;
}