Cod sursa(job #1169761)
Utilizator | Data | 11 aprilie 2014 23:38:42 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.36 kb |
#include <cstdio>
using namespace std;
#define NR 1999999973
int main()
{
long long put=1;
int n, p, i;
freopen("lgput.in", "r", stdin);
freopen("lgput.out", "w", stdout);
scanf("%d%d", &n, &p);
for(i=1; i<=p; i=i<<1){
if(i&p) put = put*n%NR;
n = 1ll*n*n%NR;
}
printf("%lld\n", put);
return 0;
}