Strefa wyzwań
Na czym polega rekurencja a także umiesz podać przykłady jej zastosowań.
Jak zdefiniować warunek brzegowy i jaka jest jego funkcja.
Gdzie rekurencja powinna się zatrzymać.
Na czym polega różnica między rekurencją a iteracją.
Jakie są wady mechanizmu rekurencji.
Napisz program, który obliczy sumę n kolejnych liczb naturalnych z użyciem rekurencji.
Specyfikacja problemu:
Dane:
n– liczba naturalna
Wynik:
x– liczba naturalna; sumankolejnych liczb naturalnych
Napisz program, który wygeneruje n-te słowa Thuego‑Morse'a oddzielone znakiem nowej linii. Kolejne wartości n podane są w tablicy.
Słowa Thuego‑Morse'a tworzone są według poniższej zasady:
Gdzie:
oznacza konkatenację słowa ze słowem – łączymy słowo oraz , przy czym słowo występuje na pierwszej pozycji.
oznacza negację bitów w słowie – znaki zamieniamy na i odwrotnie.
Przykład:
Specyfikacja problemu:
Dane:
tablica– tablica liczb całkowitych
Wynik:
x– ciąg znakow
Napisz funkcję skracającą ułamki. Powinna przyjmować dwie liczby naturalne: licznik i mianownik, a zwracać napis będący skróconą postacią ułamka; np. dla liczb 2 i 4 funkcja powinna zwrócić 1/2.
Specyfikacja problemu:
Dane:
licznik– liczba całkowitamianownik– liczba całkowita
Wynik:
Program na wyjściu standardowym zwróci skrócony ułamek.
Napisz program, który metodą iteracyjną wypisze wszystkie liczby naturalne dodatnie nie większe od podanej liczby n i podzielne przez 3 (w kolejności malejącej).
Przetestuj działanie programu dla n = 18.
Specyfikacja:
Dane:
n– liczba naturalna dodatnia
Wynik:
Program wypisuje ciąg liczb naturalnych dodatnich, spełniających podane warunki (w kolejności malejącej).
Napisz program, który metodą iteracyjną wypisze wszystkie liczby naturalne nie większe od podanej liczby i podzielne przez 3 (nie uwzględniając zera, w kolejności malejącej). Przetestuj go dla n = 18.
Napisz program, który metodą rekurencyjną wypisze wszystkie liczby naturalne dodatnie nie większe od podanej liczby n i podzielne przez 2 (w kolejności malejącej).
Przetestuj działanie programu dla n = 18.
Specyfikacja problemu:
Dane:
n– liczba naturalna dodatnia
Wynik:
Program wypisuje wszystkie liczby naturalne dodatnie podzielne przez 2, które są nie większe niż podana liczba. Program wypisuje liczby w kolejności malejącej.
Napisz program, który metodą rekurencyjną wypisze wszystkie liczby naturalne nie większe od podanej liczby n i podzielne przez 2 (nie uwzględniając zera). Przetestuj go dla n = 18.