{"id":543,"date":"2015-11-03T11:08:15","date_gmt":"2015-11-03T13:08:15","guid":{"rendered":"http:\/\/www.galirows.com.br\/meublog\/programacao\/?p=543"},"modified":"2021-06-18T15:39:13","modified_gmt":"2021-06-18T18:39:13","slug":"fibonacci-recursivo","status":"publish","type":"post","link":"http:\/\/www.galirows.com.br\/meublog\/programacao\/fibonacci-recursivo\/","title":{"rendered":"Fibonacci recursivo"},"content":{"rendered":"\n<p>Implementa\u00e7\u00e3o de uma fun\u00e7\u00e3o recursiva para determinar os termos da sequ\u00eancia de Fibonacci. O c\u00f3digo, em C++, apresenta duas fun\u00e7\u00f5es: uma utilizando recursividade e outra sem.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>No caso da fun\u00e7\u00e3o recursiva, veja que ela recebe 2 par\u00e2metros a mais do que a fun\u00e7\u00e3o sem utilizar recursividade. Isso porque \u00e9 preciso informar quais foram os dois \u00faltimos valores da sequ\u00eancia para poder gerar o novo valor atrav\u00e9s da chamada da fun\u00e7\u00e3o. Veja tamb\u00e9m que esses par\u00e2metros possuem um valor padr\u00e3o (valor 1 para ambos) e por isso, quando a fun\u00e7\u00e3o \u00e9 inicialmente chamada (linha 29 do c\u00f3digo), n\u00e3o \u00e9 preciso fornecer valor algum.<\/p>\n\n\n\n<pre class=\"wp-block-code lang:c++ decode:true\"><code lang=\"cpp\" class=\"language-cpp\">#include &lt;iostream&gt;\n\nusing namespace std;\n\n\/\/Par\u00e2metros: n\u00famero de termos, \u00faltimo n\u00famero e pen\u00faltimo n\u00famero\nvoid fibonacciRecursivo(int limite, int ult = 1, int pen = 1) {\n    if (limite &gt; 0) {\n        int prox = ult + pen;\n        cout &lt;&lt; prox &lt;&lt; \" \";\n        fibonacciRecursivo(limite-1, pen, prox);\n    }\n}\n\nvoid fibonacciNaoRecursivo(int limite) {\n    int ult = 1, pen = 1, prox;\n\n    while (limite &gt; 0) {\n        prox = ult + pen;\n        ult = pen;\n        pen = prox;\n        limite--;\n        cout &lt;&lt; prox &lt;&lt; \" \";\n    }\n}\n\nint main() {\n    fibonacciNaoRecursivo(8);\n    cout &lt;&lt; endl;\n    fibonacciRecursivo(8);\n\n    return 0;\n}\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Implementa\u00e7\u00e3o de uma fun\u00e7\u00e3o recursiva para determinar os termos da sequ\u00eancia de Fibonacci. O c\u00f3digo, em C++, apresenta duas fun\u00e7\u00f5es: uma utilizando recursividade e outra sem.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[3],"tags":[],"class_list":["post-543","post","type-post","status-publish","format-standard","hentry","category-c"],"aioseo_notices":[],"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/posts\/543","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/comments?post=543"}],"version-history":[{"count":6,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/posts\/543\/revisions"}],"predecessor-version":[{"id":1078,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/posts\/543\/revisions\/1078"}],"wp:attachment":[{"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/media?parent=543"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/categories?post=543"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.galirows.com.br\/meublog\/programacao\/wp-json\/wp\/v2\/tags?post=543"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}