Witam czy może znacie rozwiazanie problemu :
Czemu szybkie potegowanie modulo daje złą odpowiedz na 16^16 mod 10^18
o to kod
unsigned long long pot_szybkie(unsigned long long a,unsigned long long n,unsigned long long q){
unsigned long long w=1;
while(n>0){
if (n%2==1)w=(w*a)%q;
a=(a*a)%q;
n/=2;
}
return w%q;
}