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.
Dość często przy analizowaniu rekurencji pojawia się pokusa, by myśleć o operacjach na n w sposób liniowy lub przez analogię do innych znanych wzorów, jednak rekurencja może zachowywać się zupełnie inaczej. Propozycja, że F(n) to n^3, może wynikać z mylenia mnożenia wykładniczego z potęgowaniem przez liczbę n – jednak tutaj nie podnosimy n do potęgi, tylko 3. To bardzo typowy błąd, bo wystarczy jedno przeoczenie i nagle zamiast wykładniczego wzrostu mamy wielomianowy. Natomiast odpowiedź sugerująca 3*n opiera się na założeniu, że każda kolejna wartość dokłada po prostu kolejną trójkę, co pasuje prędzej do sumy arytmetycznej, a nie do rekurencji tego typu. Z mojego doświadczenia wynika, że wielu uczniów patrzy na rekurencję i podświadomie "spłaszcza" ją do zwykłego mnożenia, co jest mylące. Opcja 3*(n-1) jest jeszcze innym uproszczeniem, które może wynikać z nieprecyzyjnego odczytania wzoru rekurencyjnego – zamiast iterować przez mnożenie przez F(n-1), ktoś próbuje zamienić to na prostą operację arytmetyczną, ale to już zupełnie gubi sens konstrukcji rekurencyjnej. W praktycznych zastosowaniach bardzo ważne jest, by jasno rozróżniać, kiedy mamy do czynienia z rosnącym wykładniczo procesem (jak tu), a kiedy z liniowym lub wielomianowym. Przy projektowaniu algorytmów i ocenie ich wydajności takie rozróżnienie ma kluczowe znaczenie, bo błędna klasyfikacja prowadzi do złych decyzji projektowych. W informatyce każdy przypadek kiedy coś rośnie jak potęga liczbowa, wymaga szczególnej uwagi, bo bardzo szybko przekracza granice praktycznej wykonalności. Kluczowym podejściem jest zawsze rozpisanie kilku pierwszych kroków rekurencji, by dokładnie zobaczyć mechanizm powstawania wyniku – to pozwala uniknąć właśnie takich nieporozumień.