Pagini recente » Diferente pentru template/algoritmiada-2011 intre reviziile 2 si 1 | Cod sursa (job #453927) | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #457349)
Cod sursa(job #457349)
#include <stdio.h>
#define c 1999999973
unsigned long long int put(unsigned long long int n, unsigned long long int p) {
if(p == 0)
return 1;
unsigned x = put(n, p/2) % c;
x = (x * x) % c;
if(p%2)
x = x * n;
return x % c;
}
int main() {
freopen("lgput.in", "r", stdin);
freopen("lgput.out", "w", stdout);
unsigned long long int n, p;
scanf("%llu %llu", &n, &p);
printf("%llu\n", put(n, p));
fclose(stdout);
return 0;
}