Witam :). Pisałem ostatnio na informatykę program, w którego skład wchodził algorytm potęgowania modularnego. Niestety, algorytm (z pośpiechu) przepisałem z neta, sprawdziłem czy działa i skompilowałem - niestety dziś poproszony zostałem o wyjaśnienie tego algorytmu, czego ja za bardzo nie jestem w stanie zrobić, bo w ogóle w to nie wnikałem. Dlatego prosiłbym w wyjaśnienie :):
int i;
long result = 1;
long x = a % c;
for (i = 1; i <= b; i <<= 1)
{
x %= c;
if ((b & i) != 0)
{
result *= x;
result %= c;
}
x *= x;
}
return (int)result;
}
Nie wnikałem w C# za bardzo w jedną kwestię, dlatego pytam: cóż to za operator <<=? Pozdrawiam ;).