Matematyka dyskretna 1/Ćwiczenia 2: Rekurencja: Różnice pomiędzy wersjami
Nie podano opisu zmian |
mNie podano opisu zmian |
||
Linia 1: | Linia 1: | ||
==Rekurencja== | ==Rekurencja== | ||
{{cwiczenie| | {{cwiczenie|1|cw 1| | ||
Znajdź postać zwartą ciągu zadanego równaniem rekurencyjnym: | |||
<center><math>\displaystyle \left\lbrace | <center><math>\displaystyle \left\lbrace | ||
\ | \aligned | ||
a_0 &= 2,\\ | a_0 &= 2,\\ | ||
a_1 &= 5,\\ | a_1 &= 5,\\ | ||
a_n &= 5 a_{n-1} - 6 a_{n-2}\quad\textrm{dla}\ n\geq 2. | a_n &= 5 a_{n-1} - 6 a_{n-2}\quad\textrm{dla}\ n\geq 2. | ||
\ | \endaligned | ||
\right. | \right. | ||
</math></center> | </math></center> | ||
}} | }} | ||
Linia 27: | Linia 28: | ||
Przeprowadźmy dowód, że <math>\displaystyle a_n=2^n+3^n </math> , indukcyjnie ze względu na <math>\displaystyle n </math> . | Przeprowadźmy dowód, że <math>\displaystyle a_n=2^n+3^n </math> , indukcyjnie ze względu na <math>\displaystyle n </math> . | ||
Dla wartości początkowych <math>\displaystyle n=0,1 </math> dostajemy odpowiednio, że | Dla wartości początkowych <math>\displaystyle n=0,1 </math> dostajemy odpowiednio, że | ||
<center><math>\displaystyle \aligned a_0&=2 \ =\ 2^0+3^0,\\ | <center><math>\displaystyle \aligned a_0&=2 \ =\ 2^0+3^0,\\ | ||
a_1&=5 \ =\ 2^1+3^1. | a_1&=5 \ =\ 2^1+3^1. | ||
\endaligned</math></center> | \endaligned</math></center> | ||
Przejdźmy więc do przypadku <math>\displaystyle n\geq2 </math> . | Przejdźmy więc do przypadku <math>\displaystyle n\geq2 </math> . | ||
Na mocy zależności rekurencyjnej otrzymujemy, że | Na mocy zależności rekurencyjnej otrzymujemy, że | ||
<center><math>\displaystyle \aligned a_n&=5 a_{n-1} - 6 a_{n-2}\\ | <center><math>\displaystyle \aligned a_n&=5 a_{n-1} - 6 a_{n-2}\\ | ||
Linia 40: | Linia 44: | ||
&=2^n+3^n, | &=2^n+3^n, | ||
\endaligned</math></center> | \endaligned</math></center> | ||
co kończy dowód. | co kończy dowód. | ||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|2|cw 2| | ||
Znajdź postać zwartą ciągu zadanego równaniem rekurencyjnym: | |||
<center><math>\displaystyle \left\lbrace | <center><math>\displaystyle \left\lbrace | ||
\ | \aligned | ||
a_0 &= 1,\\ | a_0 &= 1,\\ | ||
a_1 &= 2,\\ | a_1 &= 2,\\ | ||
a_n &= \frac{a_{n-1}^2}{a_{n-2}}\quad\textrm{dla}\ n\geq 2. | a_n &= \frac{a_{n-1}^2}{a_{n-2}}\quad\textrm{dla}\ n\geq 2. | ||
\ | \endaligned | ||
\right. | \right. | ||
</math></center> | </math></center> | ||
Linia 69: | Linia 74: | ||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie </span><div class="mw-collapsible-content" style="display:none"> | <div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie </span><div class="mw-collapsible-content" style="display:none"> | ||
Przeprowadźmy dowód, że <math>\displaystyle a_n=2^n </math> , indukcyjnie ze względu na <math>\displaystyle n </math> . Dla wartości początkowych <math>\displaystyle n=0,1 </math> dostajemy odpowiednio, że | Przeprowadźmy dowód, że <math>\displaystyle a_n=2^n </math> , indukcyjnie ze względu na <math>\displaystyle n </math> . Dla wartości początkowych <math>\displaystyle n=0,1 </math> dostajemy odpowiednio, że | ||
<center><math>\displaystyle \aligned a_0&= 1\ =\ 2^0,\\ | <center><math>\displaystyle \aligned a_0&= 1\ =\ 2^0,\\ | ||
a_1&= 2\ =\ 2^1. | a_1&= 2\ =\ 2^1. | ||
\endaligned</math></center> | \endaligned</math></center> | ||
Przejdźmy więc do przypadku <math>\displaystyle n\geq2 </math> . Na mocy zależności rekurencyjnej otrzymujemy, że | Przejdźmy więc do przypadku <math>\displaystyle n\geq2 </math> . Na mocy zależności rekurencyjnej otrzymujemy, że | ||
<center><math>\displaystyle a_n\ =\ \frac{a_{n-1}^2}{a_{n-2}}\ =\ \frac{\left( 2^{n-1} \right)^2}{2^{n-2}}\ =\ 2^{2\left( n-1 \right)-\left( n-2 \right)}\ =\ 2^n, | <center><math>\displaystyle a_n\ =\ \frac{a_{n-1}^2}{a_{n-2}}\ =\ \frac{\left( 2^{n-1} \right)^2}{2^{n-2}}\ =\ 2^{2\left( n-1 \right)-\left( n-2 \right)}\ =\ 2^n, | ||
</math></center> | </math></center> | ||
co kończy dowód. | co kończy dowód. | ||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|3|cw 3| | ||
Ciąg liczb Lucasa jest definiowany następującą zależnością rekurencyjną: | |||
<center><math>\displaystyle \left\lbrace | <center><math>\displaystyle \left\lbrace | ||
\ | \aligned | ||
l_0 &= 1,\\ | l_0 &= 1,\\ | ||
l_1 &= 3,\\ | l_1 &= 3,\\ | ||
l_n &= l_{n-1}+ l_{n-2}\quad\textrm{dla}\ n\geq 2. | l_n &= l_{n-1}+ l_{n-2}\quad\textrm{dla}\ n\geq 2. | ||
\ | \endaligned | ||
\right. | \right. | ||
</math></center> | </math></center> | ||
Udowodnij, że | Udowodnij, że | ||
Linia 109: | Linia 119: | ||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie </span><div class="mw-collapsible-content" style="display:none"> | <div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie </span><div class="mw-collapsible-content" style="display:none"> | ||
Dowód przeprowadzimy, indukcyjnie ze względu na <math>\displaystyle n </math> . Dla wartości początkowych <math>\displaystyle n=0,1 </math> dostajemy odpowiednio, że | Dowód przeprowadzimy, indukcyjnie ze względu na <math>\displaystyle n </math> . Dla wartości początkowych <math>\displaystyle n=0,1 </math> dostajemy odpowiednio, że | ||
<center><math>\displaystyle \aligned f_1 + f_{-1}&= 1 + 0\ =\ 1\ = l_0,\\ | <center><math>\displaystyle \aligned f_1 + f_{-1}&= 1 + 0\ =\ 1\ = l_0,\\ | ||
f_2 + f_0&=2 + 1\ =\ 3\ = l_1. | f_2 + f_0&=2 + 1\ =\ 3\ = l_1. | ||
\endaligned</math></center> | \endaligned</math></center> | ||
Przejdźmy więc do przypadku <math>\displaystyle n\geq2 </math> . Na mocy zależności rekurencyjnej otrzymujemy, że | Przejdźmy więc do przypadku <math>\displaystyle n\geq2 </math> . Na mocy zależności rekurencyjnej otrzymujemy, że | ||
<center><math>\displaystyle \aligned l_n&=l_{n-1} + l_{n-2}\\ | <center><math>\displaystyle \aligned l_n&=l_{n-1} + l_{n-2}\\ | ||
Linia 121: | Linia 134: | ||
&=f_{n+1} + f_{n-1}, | &=f_{n+1} + f_{n-1}, | ||
\endaligned</math></center> | \endaligned</math></center> | ||
co kończy dowód. | co kończy dowód. | ||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|4|cw 4| | ||
Adam i Marek zabawiali się w następującą grę. | Adam i Marek zabawiali się w następującą grę. | ||
Adam wymyślał liczbę z zakresu od <math>\displaystyle 0 </math> do <math>\displaystyle n-1 </math> . | Adam wymyślał liczbę z zakresu od <math>\displaystyle 0 </math> do <math>\displaystyle n-1 </math> . | ||
Linia 150: | Linia 163: | ||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie </span><div class="mw-collapsible-content" style="display:none"> | <div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie </span><div class="mw-collapsible-content" style="display:none"> | ||
Strategię Marka można przedstawić w następujący rekurencyjny sposób: | Strategię Marka można przedstawić w następujący rekurencyjny sposób: | ||
* Jeśli szukana liczba <math>\displaystyle x </math> | * Jeśli szukana liczba <math>\displaystyle x </math> jest z zakresu <math>\displaystyle \left[a,b\right] </math>, gdzie <math>\displaystyle a=b </math>, to Marek wie, że szukana liczba to <math>\displaystyle a </math> . | ||
to Marek wie, że szukana liczba to <math>\displaystyle a </math> . | * Jeśli szukana <math>\displaystyle x </math> liczba jest z zakresu <math>\displaystyle \left[a,b\right] </math>, gdzie <math>\displaystyle a<b </math>, to Marek zadaje pytanie, czy <math>\displaystyle x\geq\left\lfloor \left( a+b+1 \right)/2 \right\rfloor </math>. Gdy Adam odpowie: | ||
* Jeśli szukana <math>\displaystyle x </math> liczba jest z zakresu <math>\displaystyle \left[a,b\right] </math> , gdzie <math>\displaystyle a<b </math> , | |||
to Marek zadaje pytanie, czy <math>\displaystyle x\geq\left\lfloor \left( a+b+1 \right)/2 \right\rfloor </math> . | |||
Gdy Adam odpowie: | |||
** NIE, to <math>\displaystyle x\in\left[a,\left\lfloor \left( a+b-1 \right)/2 \right\rfloor\right] </math> , | ** NIE, to <math>\displaystyle x\in\left[a,\left\lfloor \left( a+b-1 \right)/2 \right\rfloor\right] </math> , | ||
** TAK, to <math>\displaystyle x\in\left[\left\lfloor \left( a+b+1 \right)/2 \right\rfloor,b\right] </math> . | ** TAK, to <math>\displaystyle x\in\left[\left\lfloor \left( a+b+1 \right)/2 \right\rfloor,b\right] </math> . | ||
Za każdym razem, zbiór możliwych wartości <math>\displaystyle x </math> zmniejsza się o połowę. | Za każdym razem, zbiór możliwych wartości <math>\displaystyle x </math> zmniejsza się o połowę. Tak pomniejszony zbiór przeszukujemy wykorzystując rekurencyjnie opisywaną strategię. | ||
Tak pomniejszony zbiór przeszukujemy wykorzystując rekurencyjnie opisywaną strategię. | |||
Dla uproszczenia obliczeń załóżmy, że Marek na początku powiększa przedział poszukiwań do <math>\displaystyle \left[0,2^{\left\lceil \lg n \right\rceil}-1\right] </math>. Może oczywiście tak zrobić, bo <math>\displaystyle n\leq 2^{\left\lceil \lg n \right\rceil}. </math> Równanie rekurencyjne opisujące liczbę zapytań <math>\displaystyle T\!\left( n \right) </math> jest więc postaci | |||
<center><math>\displaystyle \left\lbrace | <center><math>\displaystyle \left\lbrace | ||
\ | \aligned | ||
T\!\left( 1 \right) &= 0,\\ | T\!\left( 1 \right) &= 0,\\ | ||
T\!\left( n \right) &= T\!\left( \left\lceil \frac{n}{2} \right\rceil \right)+1\quad\textrm{dla}\ n\geq 2. | T\!\left( n \right) &= T\!\left( \left\lceil \frac{n}{2} \right\rceil \right)+1\quad\textrm{dla}\ n\geq 2. | ||
\ | \endaligned | ||
\right. | \right. | ||
</math></center> | </math></center> | ||
Dla liczb postaci <math>\displaystyle 2^k </math> , gdzie <math>\displaystyle k=0,1,\ldots </math> otrzymujemy prostszą postać: | Dla liczb postaci <math>\displaystyle 2^k </math> , gdzie <math>\displaystyle k=0,1,\ldots </math> otrzymujemy prostszą postać: | ||
<center><math>\displaystyle \left\lbrace | <center><math>\displaystyle \left\lbrace | ||
\ | \aligned | ||
T\!\left( 1 \right) &= 0,\\ | T\!\left( 1 \right) &= 0,\\ | ||
T\!\left( 2^k \right) &= T\!\left( 2^{k-1} \right)+1\quad\textrm{dla}\ k\geq 1. | T\!\left( 2^k \right) &= T\!\left( 2^{k-1} \right)+1\quad\textrm{dla}\ k\geq 1. | ||
\ | \endaligned | ||
\right. | \right. | ||
</math></center> | </math></center> | ||
Pokażmy indukcyjnie, że | Pokażmy indukcyjnie, że | ||
<center><math>\displaystyle T\!\left( 2^k \right)=k. | <center><math>\displaystyle T\!\left( 2^k \right)=k. | ||
</math></center> | </math></center> | ||
Dla <math>\displaystyle n=1 </math> otrzymujemy, że | Dla <math>\displaystyle n=1 </math> otrzymujemy, że | ||
<center><math>\displaystyle T\!\left( 1 \right)=\lg 1 = 0. | <center><math>\displaystyle T\!\left( 1 \right)=\lg 1 = 0. | ||
</math></center> | </math></center> | ||
Przejdźmy więc do przypadku, gdy <math>\displaystyle k>0 </math> . | Przejdźmy więc do przypadku, gdy <math>\displaystyle k>0 </math> . | ||
Korzystając z założenia indukcyjnego, że <math>\displaystyle T\!\left( 2^{k-1} \right)=k-1 </math> , otrzymujemy: | Korzystając z założenia indukcyjnego, że <math>\displaystyle T\!\left( 2^{k-1} \right)=k-1 </math> , otrzymujemy: | ||
<center><math>\displaystyle T\!\left( 2^k \right)\ =\ T\!\left( 2^{k-1} \right)+1\ =\ \left( k-1 \right)+1\ =\ k. | <center><math>\displaystyle T\!\left( 2^k \right)\ =\ T\!\left( 2^{k-1} \right)+1\ =\ \left( k-1 \right)+1\ =\ k. | ||
</math></center> | </math></center> | ||
W konsekwencji wiemy, że liczba pytań po których Marek | W konsekwencji wiemy, że liczba pytań po których Marek | ||
dowie się o jaką liczbę chodzi jest równa | dowie się o jaką liczbę chodzi jest równa | ||
<center><math>\displaystyle T\!\left( 2^{\left\lceil \lg n \right\rceil} \right)=\left\lceil \lg n \right\rceil. | <center><math>\displaystyle T\!\left( 2^{\left\lceil \lg n \right\rceil} \right)=\left\lceil \lg n \right\rceil. | ||
</math></center> | </math></center> | ||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|5|cw 5| | ||
Talia składa się z <math>\displaystyle 2^n </math> kart. | Talia składa się z <math>\displaystyle 2^n </math> kart. | ||
Sortujemy te karty poprzez rekurencyjne rozkładanie ich na dwie równe kupki | Sortujemy te karty poprzez rekurencyjne rozkładanie ich na dwie równe kupki | ||
Linia 244: | Linia 260: | ||
Otrzymujemy więc następujące równanie rekurencyjne: | Otrzymujemy więc następujące równanie rekurencyjne: | ||
<center><math>\displaystyle \left\lbrace | <center><math>\displaystyle \left\lbrace | ||
\ | \aligned | ||
T\!\left( 1 \right) &= 0,\\ | T\!\left( 1 \right) &= 0,\\ | ||
T\!\left( 2^n \right) &= 2T\!\left( 2^{n-1} \right)+\frac{3}{2}\cdot2^n\quad\textrm{dla}\ n\geq 1. | T\!\left( 2^n \right) &= 2T\!\left( 2^{n-1} \right)+\frac{3}{2}\cdot2^n\quad\textrm{dla}\ n\geq 1. | ||
\ | \endaligned | ||
\right. | \right. | ||
</math></center> | </math></center> | ||
Udowodnijmy indukcyjnie ze względu na <math>\displaystyle n </math> , że | Udowodnijmy indukcyjnie ze względu na <math>\displaystyle n </math> , że | ||
<center><math>\displaystyle T\!\left( 2^n \right)=\frac{3}{2}n2^n. | <center><math>\displaystyle T\!\left( 2^n \right)=\frac{3}{2}n2^n. | ||
</math></center> | </math></center> | ||
Dla jednej karty mamy: | Dla jednej karty mamy: | ||
<center><math>\displaystyle \frac{3}{2}\cdot0\cdot2^0=0=T\!\left( 1 \right)= T\!\left( 2^0 \right), | <center><math>\displaystyle \frac{3}{2}\cdot0\cdot2^0=0=T\!\left( 1 \right)= T\!\left( 2^0 \right), | ||
</math></center> | </math></center> | ||
Przejdźmy więc do przypadku, gdy <math>\displaystyle n>0 </math> . | Przejdźmy więc do przypadku, gdy <math>\displaystyle n>0 </math> . | ||
Korzystając z założenia indukcyjnego otrzymujemy: | Korzystając z założenia indukcyjnego otrzymujemy: | ||
<center><math>\displaystyle \aligned T\!\left( 2^n \right)&= 2T\!\left( 2^{n-1} \right)+\frac{3}{2}\cdot2^n\\ | <center><math>\displaystyle \aligned T\!\left( 2^n \right)&= 2T\!\left( 2^{n-1} \right)+\frac{3}{2}\cdot2^n\\ | ||
Linia 271: | Linia 294: | ||
&=\frac{3}{2}n2^n, | &=\frac{3}{2}n2^n, | ||
\endaligned</math></center> | \endaligned</math></center> | ||
co kończy dowód. | co kończy dowód. | ||
</div></div> | </div></div> | ||
{{cwiczenie| | {{cwiczenie|6|cw 6| | ||
Rozwiąż równanie rekurencyjne: | |||
<center><math>\displaystyle \left\lbrace | <center><math>\displaystyle \left\lbrace | ||
\ | \aligned | ||
T\!\left( 2 \right) &= 0,\\ | T\!\left( 2 \right) &= 0,\\ | ||
T\!\left( n \right) &= 2T\!\left( \sqrt{n} \right)+1\quad\textrm{dla}\ n\geq 1, | T\!\left( n \right) &= 2T\!\left( \sqrt{n} \right)+1\quad\textrm{dla}\ n\geq 1, | ||
\ | \endaligned | ||
\right. | \right. | ||
</math></center> | </math></center> | ||
przy czym <math>\displaystyle n </math> jest postaci <math>\displaystyle 2^{2^k} </math> , gdzie <math>\displaystyle k </math> jest liczbą naturalną. | przy czym <math>\displaystyle n </math> jest postaci <math>\displaystyle 2^{2^k} </math> , gdzie <math>\displaystyle k </math> jest liczbą naturalną. | ||
Linia 299: | Linia 324: | ||
<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie </span><div class="mw-collapsible-content" style="display:none"> | <div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie </span><div class="mw-collapsible-content" style="display:none"> | ||
Po zapisaniu <math>\displaystyle n </math> w postaci <math>\displaystyle 2^{2^k} </math> otrzymujemy równanie: | Po zapisaniu <math>\displaystyle n </math> w postaci <math>\displaystyle 2^{2^k} </math> otrzymujemy równanie: | ||
<center><math>\displaystyle \left\lbrace | <center><math>\displaystyle \left\lbrace | ||
\ | \aligned | ||
T\!\left( 2 \right) &= 0,\\ | T\!\left( 2 \right) &= 0,\\ | ||
T\!\left( 2^{2^k} \right) &= 2T\!\left( 2^{2^{k-1}} \right)+1\quad\textrm{dla}\ k\geq 1, | T\!\left( 2^{2^k} \right) &= 2T\!\left( 2^{2^{k-1}} \right)+1\quad\textrm{dla}\ k\geq 1, | ||
\ | \endaligned | ||
\right. | \right. | ||
</math></center> | </math></center> | ||
Udowodnimy indukcyjnie ze względu na <math>\displaystyle k\geq0 </math> , że | Udowodnimy indukcyjnie ze względu na <math>\displaystyle k\geq0 </math> , że | ||
<center><math>\displaystyle T\!\left( 2^{2^k} \right)=k. | <center><math>\displaystyle T\!\left( 2^{2^k} \right)=k. | ||
</math></center> | </math></center> | ||
Dla początkowej wartości <math>\displaystyle k=0 </math> otrzymujemy, że | Dla początkowej wartości <math>\displaystyle k=0 </math> otrzymujemy, że | ||
<center><math>\displaystyle T\!\left( 2^{2^0} \right)= T\!\left( 2 \right)=0. | <center><math>\displaystyle T\!\left( 2^{2^0} \right)= T\!\left( 2 \right)=0. | ||
</math></center> | </math></center> | ||
Przejdźmy więc do przypadku, gdy <math>\displaystyle k\geq0 </math> . | Przejdźmy więc do przypadku, gdy <math>\displaystyle k\geq0 </math> . | ||
Korzystając z założenia indukcyjnego otrzymujemy, że | Korzystając z założenia indukcyjnego otrzymujemy, że | ||
<center><math>\displaystyle T\!\left( 2^{2^k} \right)=2T\!\left( 2^{2^{k-1}} \right)+1=\left( k-1 \right)+1=k. | <center><math>\displaystyle T\!\left( 2^{2^k} \right)=2T\!\left( 2^{2^{k-1}} \right)+1=\left( k-1 \right)+1=k. | ||
</math></center> | </math></center> | ||
W konsekwencji, gdy <math>\displaystyle n </math> jest postaci <math>\displaystyle 2^{2^k} </math> , czyli | W konsekwencji, gdy <math>\displaystyle n </math> jest postaci <math>\displaystyle 2^{2^k} </math> , czyli | ||
<math>\displaystyle k=\lg \lg n </math> , otrzymujemy: | <math>\displaystyle k=\lg \lg n </math> , otrzymujemy: | ||
<center><math>\displaystyle T\!\left( n \right)=\lg \lg n. | <center><math>\displaystyle T\!\left( n \right)=\lg \lg n. | ||
</math></center> | </math></center> | ||
</div></div> | </div></div> |
Wersja z 08:48, 2 wrz 2006
Rekurencja
Ćwiczenie 1
Znajdź postać zwartą ciągu zadanego równaniem rekurencyjnym:
Ćwiczenie 2
Znajdź postać zwartą ciągu zadanego równaniem rekurencyjnym:
Ćwiczenie 3
Ciąg liczb Lucasa jest definiowany następującą zależnością rekurencyjną:
Udowodnij, że
gdzie jest -tą liczbą Fibonacci'ego.
(Dla precyzji obliczeń przyjmij, że .)
Ćwiczenie 4
Adam i Marek zabawiali się w następującą grę. Adam wymyślał liczbę z zakresu od do . Zadaniem Marka było odgadnąć tę liczbę zadając Adamowi pytania, na które mógł odpowiadać jedynie TAK lub NIE. Znajdź najmniejszą liczbę pytań, po której Marek zawsze odnajdzie szukaną liczbę.
Ćwiczenie 5
Talia składa się z kart. Sortujemy te karty poprzez rekurencyjne rozkładanie ich na dwie równe kupki w następujący sposób:
- Jeśli kupka składa się z jednej karty, to kupka ta jest posortowana.
- Kupkę zawierającą kart, gdzie ,
dzielimy na dwie kupki zawierające po kart. Każdą z tych mniejszych kupek sortujemy oddzielnie (powtarzając rekurencyjnie całą procedurę sortowania). Następnie kolejno zbieramy karty ze szczytów obu kupek, zawsze zabierając większą z dwu szczytowych kart.
Oblicz ile ruchów potrzebnych było do posortowania wszystkich kart, jeżeli rozdzielenie kart na dwie kupki wymaga ruchów, a złożenie dwu posortowanych kupek, o kartach, w jedną całość wymaga ruchów.
Ćwiczenie 6
Rozwiąż równanie rekurencyjne:
przy czym jest postaci , gdzie jest liczbą naturalną.