Nie znajdujac podpowiedzi ani na google ani na zadnej ze stron 4programmers, chcialbym poprosic Wam o pomoc przy równaniach rekurencyjnych. Nasz wykladowca ma niesamowita zdolnosc aby nawet najlatwiejsze rzeczy tak zakrecic ze nic sie z tego nie rozumie a co dopiero to.. Kto jest na silach, prosze niech pisze.Ja nie mam pojecia jak sie za to zabrac;
<font size="3">Rozwiaz (w sensie asympotycznym) nastepujace rownanie rekurencyjne
T(n) = T([n/2]) + n
[n/2] - oznacza czesc calkowita z dzielenia n przez 2</span>
prosze o pomoc, musze opracowac schemat blokowy i zrealizowac zagadnienie w pascalu, tak nakazal wykładowca :(</b>
przy zalozeniu ze T(1) = 1
to ma byc równanie rekurencyjne, ktore nie sprawdza pokolei liczb az dojdzie do n tylko te liczby ktore trzeba, kiedyds na matematyce mielismy to tlumaczone mniej wiecej tak, ze:
T(1)=1;
T(n)=2*[n/2] //tu tez chodzi o czesc calkowita
program pyta jakie n podac
wpisalismy ze 73
n=73
T(73)=2T[73/2]=2T(36)
T(36)=2T[32/2]=2T(18)
T(18)=2T[18/2]=2T(9)
T(9)=2T[9/2]=2T(4)
T(4)=2T[4/2]=2T(2)
T(2)=2T[2/2]=2T(1)
znalezlismy wartosc poczatkowa
T(1)=1 wiec sie cofamy kolejno..
T(1)=1
T(2)=2
T(4)=4
T(9)=8
T(18)=16
T(36)=32
T(73)=64
program wyswietla wynik: 64
dla mnie to jest kosmicznie trudne zadanie bo nie wiem jak zrobic aby nie bralo wszystkich pokolei wlasnie tylko aby sie cofalo
da sie to jakos zrealizowac??
:(