Cod sursa(job #1605300)
| Utilizator | Data | 18 februarie 2016 21:40:19 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include <iostream>
#include <stdio.h>
#define mod 1999999973
using namespace std;
long long N,P;
long long putere(long long N, long long P)
{
if(P==0)
return 1;
if((P & 1) == 0)
return (putere(N*N, P/2))%mod;
else return ((putere(N, P-1))%mod * N)%mod;
}
int main()
{
freopen("logput.in","r", stdin);
freopen("lgput.out","w", stdout);
scanf("%lld %lld", &N, &P);
printf("%lld\n", putere(N,P));
return 0;
}
