Va rog explicati-mi ce gresesc si de ce imi merg doar primele 5 teste.
#include <stdio.h>
long long int N, P, M;
long long int res = 1;
long long int n = 0;
int main(void)
{
freopen("classictask.in", "r", stdin) ;
freopen("classictask.out", "w", stdout) ;
scanf("%lld %lld %lld", &N, &P, &M);
n = N;
while (P != 0)
{
if ((P & 1) != 0) // numarul este impar ?
res = (res * n) % M;
n = (n * n) % M;
P >>= 1;
}
printf("%lld\n", res);
return 0;
}
