• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pomoc w zrozumieniu rekurencji

0 głosów
532 wizyt
pytanie zadane 9 czerwca 2019 w C i C++ przez dodo070 Nowicjusz (140 p.)

Witam wszystkich. To mój pierwszy post na tej stronie, więc przepraszam jeżeli robię coś źle.
Mam pytanie co do przykładu przedstawionego w kodzie poniżej. Zasady rekurencji znam oraz rozumiem jak działa np. algorytm silni, lub ciąg fibonacciego przedstawiony rekurencyjnie oraz umiem pisać proste funkcje jak np. ciąg liczb 1+3+5+7+2n-1. Chciałbym wiedzieć jak działa poniższy kod oraz jak po kolei go analizować, aby otrzymać dobre wyniki.
Dziękuję za pomoc i pozdrawiam !

void q(int x){
  if (x<3) q(x+1);
  printf("%d\n",x);
  if (x<4) q(x+2);
}
int main(){
q(1);
return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 9 czerwca 2019 przez p099 Mądrala (6,390 p.)
Jako wskazówkę mogę zostawić fakt że zawsze podczas takich funkcji można dowiedzieć się od jakich linijek wykonują się poszczególne wywołania. Np:
3 - 4,2
5 - 4,1
2 - 4

itd..

Podobne pytania

0 głosów
0 odpowiedzi 206 wizyt
pytanie zadane 3 maja 2019 w Programowanie przez BinaryMan Stary wyjadacz (12,620 p.)
0 głosów
4 odpowiedzi 2,684 wizyt
pytanie zadane 15 października 2015 w C i C++ przez grzecho123 Początkujący (450 p.)
0 głosów
1 odpowiedź 446 wizyt
pytanie zadane 14 października 2015 w C i C++ przez grzecho123 Początkujący (450 p.)

93,741 zapytań

142,676 odpowiedzi

323,294 komentarzy

63,319 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...