Strona główna › Pytania MED.07 › Pytanie 163
MED.07 · pytanie #163
Wynikiem działania funkcji F(n) będzie <br><br> <table><tr><td>funkcja F(n) jeżeli n>1 F(n)=3*F(n-1) w przeciwnym wypadku F(n)=3</td></tr></table>
- An^3
- B3*n
- C3*(n-1)
- D3^n
Poprawna odpowiedź: D. 3^n
Kliknij odpowiedź, którą uważasz za poprawną.
Wyjaśnienie
Funkcja F(n) jest przykładem rekurencji liniowej, gdzie za każdym razem dla n>1 wartość funkcji jest mnożona przez 3 w stosunku do poprzedniego wyniku. W skrócie: F(n) = 3 * F(n-1), a dla n=1 ustalamy F(1)=3. Jeśli rozwiniesz to rekurencyjnie, otrzymasz ciąg: F(2)=3*3, F(3)=3*3*3, itd., co prowadzi do wzoru ogólnego F(n)=3^n. To jest bardzo charakterystyczne dla tzw. ciągów geometrycznych. Moim zdaniem taki typ zadań świetnie pokazuje, jak działa propagacja wartości w rekurencji i jest często spotykany przy analizie algorytmów, szczególnie jeśli chodzi o złożoność obliczeniową. W praktyce informatycznej, takie wzory pojawiają się np. w algorytmach dziel i zwyciężaj, gdzie każda warstwa rekurencji mnoży się przez stałą. Warto pamiętać, że znajomość wyprowadzenia wzoru rekurencyjnego do postaci jawnej (czyli bezpośredniej) bardzo przyspiesza analizę nawet bardziej złożonych funkcji. Często podczas programowania można spotkać się z zadaniami, gdzie trzeba rozpoznać, jak szybko rośnie funkcja, a tu wzrost wykładniczy (czyli właśnie potęgowanie) jest jednym z najszybszych. Co ciekawe, takie proste rekurencje mają też znaczenie choćby w modelowaniu wzrostu populacji czy inwestycji finansowych. Generalnie zaś, wykładniczy wzrost to nie przelewki – potrafi bardzo szybko doprowadzić do dużych wartości, dlatego w praktycznych aplikacjach programistycznych trzeba uważać na przepełnienia zmiennych i ograniczenia sprzętowe.
🤖 Wyjaśnienie generowane przez AI – weryfikuj w oficjalnych źródłach.