Cod sursa(job #2347322)
Utilizator | Mihnea Morosan Mmoro2006 | Data | 18 februarie 2019 17:56:48 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <fstream>
using namespace std;
ifstream cin("lgput.in");
ofstream cout("lgput.out");
const int MODMAX=1999999973;
long long pow(long long N, long long P)
{
if(P==0)
return 1;
int aux=(pow(N,P/2))%MODMAX;
aux=(aux*aux)%MODMAX;
if(P%2!=0)
aux=(aux*N)%MODMAX;
return aux;
}
int main()
{
unsigned int N,P;
cin >> N >> P;
cout << pow(N,P);
return 0;
}