
Zadania należy rozwiązać w dowolnym wybranym języku programowania. Warunkiem jest oczywiście, aby język wspierał rekurencyjne wywołania funkcji.
Zadania do wykonania
Zadanie 1 – Silnia
- Zaimplementuj funkcję obliczającą silnię danej liczby. Napisz dwie wersje funkcji. Pierwsza powinna wykorzystywać rekurencję, a druga działać w sposób iteracyjny.
Zadanie 2 – Ciąg Fibonacciego
- Zaimplementuj funkcję obliczającą n-ty element ciągu Fibonacciego. Napisz dwie wersje funkcji. Pierwsza powinna wykorzystywać rekurencję, a druga działać w sposób iteracyjny.
- Sprawdź jaka jest maksymalna wartość argumentu funkcji przy której da się ją poprawnie wywołać (w sensownym czasie) w przypadku obu wersji.
Zadanie 3 – Wieże Hanoi
- Napisz program, który rozwiąże zadanie wieży Hanoi o zadanej przez użytkownika wysokości.
- Możesz zastosować dowolny sposób wizualizacji wyniku działania programu (aplikacja konsolowa, interfejs graficzny).