Pagini recente » Cod sursa (job #1680034) | Cod sursa (job #1223777) | Cod sursa (job #2506200) | Cod sursa (job #1280335) | Cod sursa (job #1093580)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
long long n, p, sol = 1;
const int modulo = 1999999973;
int main()
{
fin >> n >> p;
for (int i = 0; (1<<i) <= p; ++i) // parcurge bitii
{
if ( (1 << i) & p ) // daca ambii biti sunt 1
sol = (sol * n) % modulo; // solutia se inmulteste cu n
n = ( n * n ) % modulo; // n ridicat la patrat
}
fout << sol << '\n';
fin.close();
fout.close();
return 0;
}