Zadanie 1. Napisz program, który wyznacza silnię dla dowolnej
Transkrypt
Zadanie 1. Napisz program, który wyznacza silnię dla dowolnej
Zadanie 1. Napisz program, który wyznacza silnię dla dowolnej liczby naturalnej n wpisywanej z klawiatury metodą wybraną przez użytkownika. Program powinien posiadać dwie funkcje do wyznaczania silni: a. metodą iteracyjną ze wzoru definicyjnego: n! = 1*2*...*n, b. metodą rekurencyjną zgodnie z definicją: n! = n*(n-1)! przy czym 0! = 1. Wyznacz doświadczalnie maksymalne wartości n, dla których można wyznaczyć silnię przy zastosowaniu w programie wszystkich poznanych typów zmiennych całkowitych i rzeczywistych. Zadanie 2. Napisz program, który dla dowolnego n wyznacza funkcję 2n metodą wybraną przez użytkownika. Program powinien posiadać dwie funkcje do jej wyznaczania: a. metodą iteracyjną ze wzoru definicyjnego: 2n = 2*2*...*2, b. metodą rekurencyjną zgodnie z definicją: 2n = 2*2n-1 przy czym 20 = 1. Określ maksymalną wartość n dla typu zmiennej zastosowanej w programie. Zadanie 3. Liczby Fibonacciego definiowane są następująco: x1 = 2, x2 = 5, xn = 2 xn-2 + xn-1, n = 3,4,5,... a. Napisz funkcję, która wyznacza n pierwszych liczb Fibonacciego. b. Napisz program, który oblicza liczby Fibonacciego w dowolnym przedziale <k,l> wpisanym z klawiatury. Zadanie 4. Wieże Hanoi. Według legendy w pewnej świątyni buddyjskiej w Hanoi siedzą mnisi i przekładają 64 złote krążki z jednego stosu na drugi. Krążki są kolejno coraz mniejsze, a problem polega na tym, że podczas przekładania po jednym krążku nie można położyć krążka większego na mniejszy - istnieje więc stos pomocniczy. Zgodnie z legendą w chwili położenia ostatniego krążka nastąpi koniec świata. Nie ma się jednak czego obawiać, gdyż nawet gdyby robili to w tempie jeden ruch na sekundę, to i tak nie zdążyliby przed zgaśnięciem naszego słońca. Problem ten jest dosyć złożony, ale łatwo jest sformułować dla niego rozwiązanie rekurencyjne. W celu przełożenia n krążków ze stosu A na B, należy najpierw przełożyć n-1 krążków ze stosu A na stos pomocniczy, przenieść n-ty największy krążek z A na B, po czym przełożyć n-1 krążków ze stosu pomocniczego na stos B. Napisz program, który dla zadanej liczby krążków n rozwiązuje problem wież Hanoi.