Pagini recente » testasd | Cod sursa (job #841382) | Probleme de Geometrie | Cod sursa (job #756349) | Cod sursa (job #2742701)
#include <fstream>
std :: ifstream fin("lgput.in");
std :: ofstream fout("lgput.out");
const int MOD = 1999999973;
unsigned long long ridicare_la_putere(unsigned long long x, unsigned long long n)
{
if (n == 0)
return 1;
if (n == 1)
return x;
unsigned long long result;
if (n & 1)
{
result = ridicare_la_putere(x, (n - 1) / 2) % MOD;
return (x * (result * result) % MOD) % MOD;
}
result = ridicare_la_putere(x , n / 2) % MOD;
return (result * result) % MOD;
}
int main() {
unsigned long long x, n;
fin >> x >> n;
fout << ridicare_la_putere(x, n);
return 0;
}