RRHLBU8OD83OC
Zdjęcie przedstawia pomarańczowy blok z dużą liczbą okien.

I_R_W14_M31_C++ Jak skrócić obliczenia - potęgowanie w wersji smart

Źródło: Alan Weiner, domena publiczna.

W wielu działach matematyki i informatyki pojawiają się liczby tak duże, że ich zapis w zwykłej notacji dziesiętnej staje się niepraktyczny - wymagałby ogromnej liczby cyfr i nie wnosiłby żadnej dodatkowej informacji. W takich sytuacjach kluczowe jest nie samo wykonanie kolejnych mnożeń, lecz sposób organizacji obliczeń.

Metody szybkiego potęgowania pozwalają pracować z dużymi wykładnikami w sposób uporządkowany i efektywny. Wykorzystują strukturę zapisu liczby, własności działań i symetrie, które nie są widoczne przy prostym, „siłowym” podejściu. W tym module zobaczysz, jak te idee prowadzą do algorytmów, które są jednocześnie eleganckie i praktyczne - od teorii liczb po analizę złożoności obliczeniowej.

R1761HTH2JK97
Ćwiczenie 1
Twoje cele
  • Przeanalizujesz algorytm iteracyjnego potęgowania liczb.

  • Zaimplementujesz program potęgujący liczby wykorzystujący algorytm iteracyjny.

  • Scharakteryzujesz i zaimplementujesz algorytm szybkiego potęgowania liczb.

  • Porównasz dwie techniki programowania - rekurencyjną i iteracyjną.

  • Przeanalizujesz algorytmy obliczające wartość potęgi techniką rekurencyjną i iteracyjną.

  • Zaimplementujesz algorytm szybkiego potęgowania w języku C++.