Matematyka dyskretna 1/Ćwiczenia 2: Rekurencja: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Arek (dyskusja | edycje)
Nie podano opisu zmian
Pitab (dyskusja | edycje)
mNie podano opisu zmian
Linia 1: Linia 1:
==Rekurencja==
==Rekurencja==


{{cwiczenie|md0 rekurencja liniowa||
{{cwiczenie|1|cw 1|
Znajdź postać zwartą ciągu zadanego równaniem rekurencyjnym:


Znajdź postać zwartą ciągu zadanego równaniem rekurencyjnym:


<center><math>\displaystyle \left\lbrace
<center><math>\displaystyle \left\lbrace
\begin{array} {r c l}
\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.
\end{array}
\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|md0 rekurencja kolejne potegi||
{{cwiczenie|2|cw 2|
Znajdź postać zwartą ciągu zadanego równaniem rekurencyjnym:


Znajdź postać zwartą ciągu zadanego równaniem rekurencyjnym:


<center><math>\displaystyle \left\lbrace
<center><math>\displaystyle \left\lbrace
\begin{array} {r c l}
\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.
\end{array}
\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|md0 rekurencja lucas||
{{cwiczenie|3|cw 3|
Ciąg liczb Lucasa jest definiowany następującą zależnością rekurencyjną:


Ciąg liczb Lucasa jest definiowany następującą zależnością rekurencyjną:


<center><math>\displaystyle \left\lbrace
<center><math>\displaystyle \left\lbrace
\begin{array} {r c l}
\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.
\end{array}
\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|md0 rekurencja zgadywanie||
{{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> jest z zakresu  <math>\displaystyle \left[a,b\right] </math> , gdzie <math>\displaystyle a=b </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


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
\begin{array} {r c l}
\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.
\end{array}
\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
\begin{array} {r c l}
\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.
\end{array}
\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|md0 rekurencja karty||
{{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
\begin{array} {r c l}
\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.
\end{array}
\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|md0 rekurencja sqrt||
{{cwiczenie|6|cw 6|
Rozwiąż równanie rekurencyjne:


Rozwiąż równanie rekurencyjne:


<center><math>\displaystyle \left\lbrace
<center><math>\displaystyle \left\lbrace
\begin{array} {r c l}
\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,
\end{array}
\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
\begin{array} {r c l}
\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,
\end{array}
\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:


Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \displaystyle \left\lbrace \aligned a_0 &= 2,\\ a_1 &= 5,\\ a_n &= 5 a_{n-1} - 6 a_{n-2}\quad\textrm{dla}\ n\geq 2. \endaligned \right. }


Wskazówka
Rozwiązanie

Ćwiczenie 2

Znajdź postać zwartą ciągu zadanego równaniem rekurencyjnym:


Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \displaystyle \left\lbrace \aligned a_0 &= 1,\\ a_1 &= 2,\\ a_n &= \frac{a_{n-1}^2}{a_{n-2}}\quad\textrm{dla}\ n\geq 2. \endaligned \right. }
Wskazówka
Rozwiązanie

Ćwiczenie 3

Ciąg liczb Lucasa jest definiowany następującą zależnością rekurencyjną:


Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \displaystyle \left\lbrace \aligned l_0 &= 1,\\ l_1 &= 3,\\ l_n &= l_{n-1}+ l_{n-2}\quad\textrm{dla}\ n\geq 2. \endaligned \right. }


Udowodnij, że ln=fn+1+fn1, gdzie fn jest n -tą liczbą Fibonacci'ego. (Dla precyzji obliczeń przyjmij, że f1=0 .)

Wskazówka
Rozwiązanie

Ćwiczenie 4

Adam i Marek zabawiali się w następującą grę. Adam wymyślał liczbę z zakresu od 0 do n1 . 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ę.

Wskazówka
Rozwiązanie

Ćwiczenie 5

Talia składa się z 2n 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ą 2k kart, gdzie k>0 ,

dzielimy na dwie kupki zawierające po 2k1 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 2n kart, jeżeli rozdzielenie 2k kart na dwie kupki wymaga 2k1 ruchów, a złożenie dwu posortowanych kupek, o 2k1 kartach, w jedną całość wymaga 2k ruchów.

Wskazówka
Rozwiązanie

Ćwiczenie 6

Rozwiąż równanie rekurencyjne:


Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \displaystyle \left\lbrace \aligned T\!\left( 2 \right) &= 0,\\ T\!\left( n \right) &= 2T\!\left( \sqrt{n} \right)+1\quad\textrm{dla}\ n\geq 1, \endaligned \right. }


przy czym n jest postaci 22k , gdzie k jest liczbą naturalną.

Wskazówka
Rozwiązanie