Cod sursa(job #3219774)
Utilizator | Popescu Malina popescumalina | Data | 1 aprilie 2024 10:11:31 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <iostream>
#include <fstream>
using namespace std;
const int MOD = 1999999973;
ifstream f("lgput.in");
ofstream g("lgput.out");
long long powlg(long long a, long long p)
{
long long val = 1, x = a % MOD;
while (p > 0)
{
if(p % 2 != 0)
val = val * x % MOD;
x = x * x % MOD;
p /= 2;
}
return val;
}
int main()
{
long long N, P;
f >> N >> P;
g << powlg(N, P);
f.close();
g.close();
return 0;
}