Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- liczba power_modulo_fast(liczba a, liczba b, liczba m)
- {
- int i;
- liczba result = liczba(a.p, 1, new int(1), '+');
- liczba x = dzielenie(a, m).l2;
- for (i=1; (compare(b, konwersja(i, b.p)) >= 0) ; i<<=1)
- {
- x = dzielenie(x, m).l2;
- if (And(b, i))
- {
- result = mnozenie(result, x);
- result = ((modulo)dzielenie(result, m)).l2;
- }
- x = mnozenie(x, x);
- }
- return dzielenie(result, m).l2;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement