Pagini recente » Cod sursa (job #1851469) | Cod sursa (job #1436799) | Rating Andreea Arsene (andreeaarsene) | Cod sursa (job #1732130) | Cod sursa (job #1749075)
#include <stdio.h>
int
main()
{
FILE *fin, *fout;
unsigned long long N, P, R, C;
fin = fopen("lgput.in", "r");
fscanf(fin, "%lli %lli", &N, &P);
R = 1;
C = 1999999973;
while (0 != P)
{
if (0 == P % 2)
{
N = (N * N) % C ;
P = P / 2;
}
else
{
R = (R * N) % C;
P = P - 1;
}
}
fclose(fin);
fout = fopen("lgput.out", "w");
fprintf(fout, "%lli", R);
fclose(fout);
return 0;
}