Wskazówka:
W tym zadaniu trzeba skonstruować algorytm, który korzystając z binarnej reprezentacji wykładnika, obliczy wartość xk
metodą opisaną w zadaniu. Jak się do tego zabrać? Za wartość
początkową wyniku przyjmujemy liczbę x. Następnie przeglądamy kolejne bity z binarnej
reprezentacji wykładnika, od n-1 do 0. W każdym kroku podnosimy aktualny wynik do kwadratu. Dodatkowo, gdy ki = 1, mnożymy wynik przez wartość x. Do rozwiązania zadania
można zastosować zarówno pętlę for (dla każdego i = n-1, n-2, ..., 0), jak i pętlę while (dopóki i ≥ 0 wykonuj ...). W tym ostatnim wypadku należy pamiętać o tym, aby zmniejszać
wartość i o 1 po wykonaniu obliczeń. Przedstawione rozumowanie prowadzi do następującego rozwiązania:
p ← x
i ← n – 1
dopóki i ≥ 0 wykonuj
p ← p * p
jeżeli ki = 1
p ← p * x
i ← i – 1