Cod sursa(job #2981289)
Utilizator | Data | 17 februarie 2023 17:21:35 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <bits/stdc++.h>
using namespace std;
int modpow(int x, int n, int m) {
if (n == 0) return 1%m;
long long u = modpow(x,n/2,m);
u = (u*u)%m;
if (n%2 == 1) u = (u*x)%m;
return u;
}
int main()
{
ifstream fin;
fin.open("lgput.in");
ofstream fout;
fout.open("lgput.out");
long long m = 1999999973;
long long n, p;
fin >> n >> p;
fout << modpow(n,p,m);
}