Pagini recente » Cod sursa (job #2506702) | Cod sursa (job #3198236) | Cod sursa (job #515409) | Cod sursa (job #1868016) | Cod sursa (job #2127959)
#include<iostream>
#include<fstream>
#define ull unsigned long long
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
ull fastExp(ull a, ull b, int mod)
{
int start = 0;
ull rez;
if (b == 1) return (a%mod);
if (b == 0) return 1;
for (int i = 31; i >= 0; --i)
{
if (b &(1 << i))
{
start = i;
break;
}
}
rez = a;
for (int i = start - 1; i >= 0; --i)
{
rez = ((rez %mod) * (rez%mod)) % mod;
if (b&(1 << i))
rez = ((rez%mod)*(a %mod)) % mod;
}
return rez;
}
int main()
{
ull a, b;
fin >> a >> b;
fout << fastExp(a, b, 1999999973);
return 0;
}