Professional Documents
Culture Documents
Lista 6 - Wskazówki i Rozwiązania
Lista 6 - Wskazówki i Rozwiązania
1. Kroki indukcyjne:
Przypomnijmy:
√ !n √ !n
1 5+1 1 1− 5
Fn = √ −√
5 2 5 2
a) √ √ √
1 1 2 5−1 2( 5 − 1) 1− 5
− =−√ = −√ ·√ =− = .
ϕ 5+1 5+1 5−1 4 2
2
3. Podzielmy wszystkie możliwe sposoby przejścia w zależności od liczby kroków podwójnych. Jeśli nie
wykonamy żadnego kroku podwójnego, to mamy jeden sposób wejcia (który możemy zapisać jako n0 ).
Przyjednym kroku podwójnym wykonamy w sumie n − 1 kroków, tylko musimy zdecydować (na n − 1 =
n−1
1 sposobów), który z nich będzie podwójny. Przy dwóch krokach podwójnych wykonamy w sumie
n − 2 wszystkich kroków, z czego na n−2
2 sposobów możemy wybrać, które z nich będą podwójne. Itd.
4. Liczby Lucasa opisane są rekurencją Ln+2 = Ln+1 + Ln , L0 = 2, L1 = 1. Znajdź wzór na Ln .
Równanie charakterystyczne jak dla ciągu Fibonacciego (ta sama rekurencja), więc z wykładu wiemy, że
√ !n √ !n
1+ 5 1− 5
Ln = A +B
2 2
an = 3an−1 − 2an−2 .
Do tej rekurencji potrzebujemy dodatkowy warunek początkowy (oprócz a0 = 1), który wyliczamy z
oryginalnej rekurencji: a1 = 5. Rozwiązujemy tę rekurencję jak w poprzednim zadaniu i otrzymujemy
an = 2n+2 − 3
b) Zapisujemy rekurencję na dwa sposoby:
an = 2an−1 + 5n,
an−1 = 2an−2 + 5(n − 1).
an = 3an−1 − 2an−2 + 5.
Równanie charakterystyczne:
x3 = 4x2 − 5x + 2
x3 − 4x2 + 5x − 2 = 0
(x3 − 4x2 + 4x) + x − 2 = 0
x(x2 − 4x + 4) + x − 2 = 0
x(x − 2)2 + x − 2 = 0
(x − 2)(x(x − 2) + 1)
x − 2(x2 − 2x + 1)
(x − 2)(x − 1)2
an = A · 2n + B + C · n
Rozwiązujemy układ równań (na przykład obliczjąc B z pierwszego równania i wstawiając do po-
zostałych): A = 10, B = −10, C = −5. Stąd
an = 10 · 2n − 5(n + 2).
7. Poniżej wyjaśnienie, jak ułożyć rekurencje. Rozwiązuje się je tak jak w zadaniu 5.
Warunki początkowe:
a1 = 4 - w ciągu o długości jeden nic sie nie może powtórzyć
a2 = 15 - od wszystkich 16 możłiwości trzeba odjąć ciąg AA.
b) Jeśli pierwsza litera jest inna niż A (3 możliwości), to na pozostałych n − 1 polach jest parzysta liczba
A, więc w tym przypadku otrzymujemy 3an−1 możliwości.
Jeśli pierwsza jest litera A, to na pozostałych n − 1 polach jest nieparzysta liczba liter A. Mozna
je policzyć odejmując od wszystkich 4n−1 ciągów o długości n − 1 te z parzystą liczbą A. W tym
przypadku jest więc 4n−1 − an−1 możliwości. Ostatecznie
Aby pozbyć się składnika 4n−1 , zapiszczy rekurencję nieco inaczej (wstawiając n − 1 za n):
Warunki początkowe:
a1 = 3 - zero liter A
a2 = 10 - zero liter A (3 × 3 możliwości) lub same litery A (1 możliwość).
8. a) Każdy ciąg zero-jedynkowy o długości n można utożsamić z podzbiorem zbioru {1, ..., n} w taki sosób,
że jeśli na pozycji k jest zero, to liczba k nie należy do podzbioru, a jeśli jeden, to k należy do tego
podzbioru.
b) Idea jest podobna do drugiego sposobu z zadania 7a.
Jeśli na pierwszym miejscu ciągu o długości n stoi zero, to na pozostałych n − 1 miejscach jest liczba
jedynek pdzielna przez 3, więc te n − 1 pozycji możemy obstawić na an−1 sposobów.
Jeśli na pierwszym miejscu jest jedynka, to pozostała liczba jedynek nie dzieli się przez 3, więc nie
możemy w oczywisty sposób przedstawić liczby możliwości w tm przypadku za pomocą wyrazów ciągu
(an ). Rozważymy moment, w którym pojawia trzeci ajedynka, ponieważ wtedy liczba pozostałych
jedynek będzie dzieliła sie przez 3. Jeśli trzecia jedynka stoi na miejscu k ≥ 3, to pierwsze k pozycji
wygląda w ten sposób, że na pierwszym i k-tym miejscu jest jedynka, oraz jedna jedynka gdzieś na
jednej z k − 2 pozycji między jedynkami o numerze 1 i 3. Pozostałe pozycje możemy obstawić na an−k
sposobów, więc jeśli trzecia jedynka jest na pozycji k, to mamy (k − 2)an−k możliwości. Sumując po
wszystkich możliwych k oraz dodając możliwości, gdy na początki ciągu jest zero, otrzymujemy
Ostatni składnik odpowiada sytuacji, gdy trzecia jedynka jest na osttaniej pozycji.
Aby uprościć tę reurencję zapiszmy ją dla an−1 :
a po uproszczeniu
Widać, że uprościły się współczynniki, ale dalej rekurencja jest dość skomplikowana. Powtórzmy tę
procedurę dla nowej rekurencji. Dla an−1 mamy
Po odjęciu
an − an−1 = 2an−1 − 3an−2 + 2an−3 .
Ostatecznie
an = 3an−1 − 3an−2 + 2an−3 .
x3 − 3x2 + 3x − 2 = 0
(x3 − 3x2 + 2x) + (x − 2) = 0
x(x − 2)(x − 1) + (x − 2) = 0
(x − 2)(x(x − 1) + 1) = 0
(x − 2)(x2 − x + 1) = 0.
√ √
1 3 1 3
∆ = −3, więc rozwiązania to x1 = 2, x2 = 2 + 2 i oraz x3 = x2 = 2 − 2 i. Rozwiązanie ogolne
rekurencji ma postać
√ ! √ !
1 3 1 3
an = A · 2n + B · Re ( + i)n + C · Im ( + i)n .
2 2 2 2
Ponieważ
√ !n
1 3
+ i = (cos(π/3) + i sin(π/3))n = cos(nπ/3) + i sin(nπ/3),
2 2
mamy
an = A · 2n + B · cos(nπ/3) + C · sin(nπ/3).
Łatwo policzyć, że a1 = 1, a2 = 1, a3 = 2, więc
√
1 = A · 2 + B · 12 + C · 2√3
1 = A · 22 − B · 1 + C · 23
2 = A · 23 − B. 2
1 2 2 n−1 nπ
an = 2n + cos(nπ/3) = 2 + cos ,
3 3 3 3
czyli tak samo, jak w zadaniu 3 z listy 5.
11. 000, 001, 002, 010, 012, 020, 021, 100, 101, 102, 120, 121, 200, 201, 202, 210, 212
Układanie rekurencji:
Sposób 1: rozważając różne początki
Jeśli zaczniemy budowę ciągu od liczby 0, to nie wpływa to na kolejne elementy, więc pozostałe n-1 pozyscji
uzupełniamy na an−1 sposobów.
Jeśli na pierwszym miejscu stoi liczba 1, to nie możemy kolejnych miejsc obsadzić nie przejmujac się tą
jedynką, ponieważ może sie zdarzyć, że na drugim miejscu też pojawi się jedynka i nie będą spełnione
warunki zadania. Rozważmy więc postanie na drugim miejscu zera lub dwójki. Dla zera możemy kolejne
miejca obstawić nie przejmując się nim, czyli na an−2 sposobów, ale dla dwójki znów jest problem ponieważ
może kolejny element nie może być dwójką. Widać więc, że musimy rozważyć przypadki w zależności od
tego, na którym miejscu pojawia się pierwsze zero: jeśli jest ono na miejscu o numerze k ≥ 2, to pozostałe
n − k pozycji możemy ustawić nie przejmując się tym zerem, czyli na an−k sposobów, a na pozycjach
przed zerem mamy tylko jedną możliwość (przy założeniu, że zaczynamy od jedynki), ponieważ będa to
na zmianę liczby 1 i 2. Dostajemy więc w tym przypadku an−2 + an−3 + ... + a1 możliwości.
Analogicznie wygląda sytuacja, gdy na pierwszym miejscu stoi liczba 2. Stąd
an = 2an−1 + an−2 .
Warunki początkowe:
a1 = 3
a2 = 7 - od wszystkich możłiwych 9 ciągów wyrzucamy ciągi 11 i 22.
Pozostaje rozwiązać rekurencję.