Pagini recente » Diferente pentru problema/grendizer intre reviziile 20 si 21 | Cod sursa (job #2359206) | Cod sursa (job #198820) | Cod sursa (job #3151756) | Cod sursa (job #1527561)
#include <fstream>
using namespace std;
ifstream in ("lgput.in");
ofstream out ("lgput.out");
const int MOD = 1999999973;
int n, p;
long long lgput (int n, int p)
{
if (p == 0) return 1;
else if (p == 1) return n;
else if (!(p % 2)) return lgput(n, p/2) % MOD * lgput(n, p/2) % MOD;
else return lgput(n, p/2) % MOD * lgput(n, p/2) % MOD * n % MOD;
}
int main()
{
in >> n >> p;
out << lgput(n, p);
out.close(); return 0;
}