Strefa wyzwań
Jak działa algorytm iteracyjnego potęgowania liczb (algorytm naiwny i algorytm szybkiego potęgowania).
Jak zaimplementować algorytm szybkiego potęgowania liczb.
Czym charakteryzują się dwie techniki programowania - rekurencyjną i iteracyjną.
Teraz czas sprawdzić swoją wiedzę i umiejętności w praktyce.
potega. Zmienna ta została już zainicjowana wartością jeden. potega ← Tu uzupełnij razy, jeden, razy Tu uzupełnijpotega ← Tu uzupełnij razy Tu uzupełnijpotega ← Tu uzupełnij razy Tu uzupełnijpotega ← Tu uzupełnij razy Tu uzupełnij razy, trzy
Napisz pseudokod algorytmu wyświetlającego liczbę wszystkich możliwych kodów, które możemy ustawić, aby zabezpieczyć pewną kłódkę. Kod ten składa się z cyfr z zakresu i z liter ze zbioru .
Litery i cyfry w szyfrze mogą się powtarzać.
Przykład:
Jeżeli kod składa się z dwóch cyfr całkowitych z przedziału i trzech liter ze zbioru , to liczba możliwych kodów to . Ósemki w kodzie oznaczają liczbę kombinacji cyfr (od do mamy siedem cyfr). Są dwie, ponieważ kod składa się z dwóch cyfr. Analogicznie jest w przypadku liter – do wyboru mamy cztery litery (, , lub ), każda z nich może pojawić się w jednym z czterech miejsc kodu.
Wykorzystaj algorytm potęgowania liczb według definicji.
Specyfikacja problemu:
Dane:
n– liczba naturalna; liczba cyfr zawartych w kodziem– liczba naturalna; liczba liter zawartych w kodzie
Wynik:
Algorytm wypisuje liczbę możliwych kodów zabezpieczających kłódkę.
Okres połowicznego rozpadu jest to czas, po którym liczebność danej próbki maleje dwukrotnie. Na przykład po trzech okresach pozostanie początkowej ilości próbki. Ilość próbki pozostałej po danej liczbie okresów rozpadu początkowej próbki możemy wyrazić wzorem:
Zapisz w postaci pseudokodu algorytm wyliczania ilości pozostałej próbki Nt po liczbie okresów t zapisanych w systemie dwójkowym. Wykorzystaj algorytm szybkiego potęgowania liczb w wersji iteracyjnej.
Specyfikacja problemu:
Dane:
– liczba okresów, liczba naturalna zapisana w systemie binarnym ; wykładnik potęgi
N0– początkowa ilość próbki, liczba naturalna
Wynik:
Algorytm wypisuje ilość pozostałej próbki po liczbie okresów t:
Ile mnożeń wykonuje algorytm?
Napisz dwie funkcje w języku Python, które obliczają wartość :
Metodą naiwną – przez kolejne mnożenia (na podstawie definicji)
Metodą szybkiego potęgowania
Każda funkcja powinna:
zwracać wynik potęgowania,
zwracać liczbę wykonanych mnożeń. Możesz wykorzystać poniższy szablon