Pagini recente » Cod sursa (job #337297) | Cod sursa (job #2608812) | Cod sursa (job #1017417) | Cod sursa (job #1210690) | Cod sursa (job #2070653)
#include <stdio.h>
using namespace std;
FILE *fin;
FILE *fout;
unsigned long long N, P;
void raise(unsigned long long &N, unsigned long long P)
{
unsigned long long aux = N;
int i;
for(i = 2; i <= P; i *= 2)
{
N *= N;
N %= 1999999973;
}
if(i / 2 < P)
{
raise(aux, P - i / 2);
N *= aux;
N %= 1999999973;
}
}
int main()
{
fin = fopen("lgput.in", "r");
fout = fopen("lgput.out", "w");
fscanf(fin, "%d %d", &N, &P);
raise(N, P);
fprintf(fout, "%d", N);
return 0;
}