Pagini recente » Cod sursa (job #677411) | Cod sursa (job #812917) | Cod sursa (job #1367549) | Cod sursa (job #2661792) | Cod sursa (job #2456306)
#include <bits/stdc++.h>
#define MOD 1999999973
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
/// a^100 = a^64 * a^32 * a^4
/// 100 (baza 10) = 1100100 (baza 2)
long long P1(long long a , long long n)
{
long long p =1;
while (n > 0)
{
if (n % 2 == 1) p *= a & MOD;
n /= 2;
a *= a & MOD;
}
return p;
}
long long P2(long long a , long long n)
{
long long p = 1 , i;
long long f[32];
f[0] = a;
f[1] = a * a;
for (i = 1 ; i <= 30 ; i++)
f[i] = f[i - 1] * f[i - 1] % MOD;
i = 0;
while (n > 0)
{
if (n % 2 == 1) p = p * f[i] % MOD;
n /= 2;
i++;
}
return p;
}
int main()
{
long long a , n;
fin >> a >> n;
fout << P1(a , n) << "\n";
return 0;
}