Fibonacci sequence C++

Fibonacci Sequence C



Ang Fibonacci series/sequence ay isang serye ng mga numero na nilikha kapag ang susunod na numero ay nakuha sa pamamagitan ng pagkakaroon ng kabuuan ng huling dalawang numero sa isang serye. Ang unang dalawang numero ay palaging 0 at 1. Ang Fibonacci series ay maaaring makuha sa anumang programming language, ngunit dito namin ilalapat ang source code sa C++ programming language. Sa matematika, ang pagkakasunod-sunod ng Fibonacci ay ipinaliwanag sa pamamagitan ng recursion relation na mayroong sample na formula.

Fn = Fn-1 + Fn-2

Maglalaman ang tutorial na ito ng iba't ibang mga pamamaraan upang lumikha ng isang pagkakasunud-sunod ng mga numero ng Fibonacci.







Halimbawa 1



Sa halimbawang ito, una, ang library ng input at output stream ay ginagamit upang paganahin ang cin at cout stream, at ang paglahok ng user ay hinihikayat din sa pamamagitan ng library na ito. Sa loob ng pangunahing programa, kukuha kami ng dalawang integer-type na variable at idedeklara ang mga ito na zero value. Ang isa pang nextterm variable ay ginagamit din na sinisimulan bilang zero at inilagay para magamit sa ibang pagkakataon. Hihilingin namin sa user na maglagay ng numero na kailangan niya sa seryeng Fibonacci. Sa madaling salita, ang bilang ng mga linya na ipinapakita bilang output ay depende sa input ng user. Ang tiyak na numero na ilalagay ng user, ang resulta ay maglalaman ng sagot sa mga linyang ito.







Kailangan namin ng 'para' na loop upang umulit hanggang sa partikular na numerong iyon na ipinasok ng user upang kalkulahin ang pagkakasunud-sunod. Ito ay isang uri ng limitasyon ng ilang linya. Ang isang if statement ay ginagamit upang suriin ang numero; kung ito ay isa, pagkatapos ay ipakita ito bilang ito ay walang anumang pagbabago. Katulad nito, ang pangalawang numero ay ipapakita din. Sa Fibonacci sequence, ang unang dalawang numero ay ipinapakita. Upang magpatuloy, ginamit namin ang continue statement. Upang higit pang kalkulahin ang serye, idaragdag namin ang parehong mga halaga. At ito ang magiging ikatlong numero sa serye. Pagkatapos na magsimula ang proseso ng pagpapalit, ang unang variable ay itatalaga ang halaga ng pangalawang variable, at ang pangalawang variable ay maglalaman ng ikatlong halaga na nakaimbak sa nextterm variable.

Nextterm = t1 + t2;



T1 = t2;

T2 =nextterm;

Ngayon ang bawat halaga ay ipinapakita na pinaghihiwalay ng mga kuwit. Ipatupad ang code sa pamamagitan ng isang compiler. Ang '-o' ay ginagamit upang i-save ang output ng code na nasa input file.

$ g++ -O fib fib.c
$ . / fib

Makikita mo na kapag naisakatuparan ang programa, hihilingin ng user na ipasok ang numerong ipinasok niya na 7, at ang resulta ay magiging 7 linya, kahit saang punto ay umabot na sa ika-7 punto ang serye ng Fibonacci.

Halimbawa 2

Ang halimbawang ito ay maglalaman ng pagkalkula ng Fibonacci series sa pamamagitan ng paglilimita sa nextterm value. Nangangahulugan ito na ang serye ng Fibonacci ay maaaring i-customize sa pamamagitan ng pagbibigay ng isang tinukoy na numero kung hanggang saan mo gusto. Hindi tulad ng nakaraang halimbawa, ang resulta ay hindi nakasalalay sa bilang ng mga linya ngunit sa bilang ng mga serye na ibinigay ng isang numero. Magsisimula tayo mula sa pangunahing programa, ang mga variable ay pareho, at ang diskarte ng paglahok ng gumagamit ay pareho rin. Kaya ang dalawang unang variable ay sinisimulan bilang zero sa simula, ang nextterm variable ay idineklara na zero. Pagkatapos ay ilalagay ng user ang numero. Ang unang dalawang termino ay ipinapakita na palaging 0 at 1.

Ang susunod na term na halaga ay itatalaga ang halaga na nakuha sa pamamagitan ng pagdaragdag ng mga numerong nasa unang dalawang variable. Dito ginagamit ang isang while loop upang maglapat ng kundisyon ng paglikha ng serye hanggang ang halaga sa nextterm variable ay katumbas o mas mababa sa numero na ibinibigay ng user.

Habang (susunod <= n)

Sa loob ng while loop na ito, ilalapat ang logic sa pamamagitan ng pagpapalit ng mga numero sa pabalik na direksyon. Ang nextterm variable ay muling magdaragdag ng mga halaga ng mga variable.

Nextterm = t1 + t2;

Ngayon i-save ang file at i-compile ito upang maisagawa ang code sa terminal.

Kapag pinatakbo mo ang code, hihilingin ng system ang isang numero mula sa iyo na dapat ay isang positibong numero. Pagkatapos ay makikita mo na sa pagkalkula, isang serye ng mga numero hanggang sa ika-55 na numero ay ipinapakita.

Halimbawa 3

Ang source code na babanggitin namin ay maglalaman ng ibang paraan ng pagkalkula ng Fibonacci series. Hanggang ngayon, kinakalkula namin ang serye sa loob ng pangunahing programa. Ang halimbawang ito ay gumagamit ng paglahok ng isang hiwalay na function upang kalkulahin ang pagkakasunod-sunod ng mga numero. Sa loob ng function, isang recursive na tawag ang ginawa upang ipagpatuloy ang proseso. Kaya ito rin ay isang halimbawa ng recursion. Dadalhin ng function ang numero sa parameter, hanggang sa kung saan kakalkulahin ang serye. Ang numerong ito ay ipinadala mula sa pangunahing programa. Ang isang if statement ay ginagamit upang suriin kung ang numero ay mas maliit sa o katumbas ng 1, pagkatapos ay ibalik ang numero mismo dahil kailangan namin ng hindi bababa sa dalawang numero upang makalkula ang serye. Sa pangalawang kaso, kapag naging false ang kundisyon at mas malaki ang numero sa 1, kalkulahin ang serye sa pamamagitan ng paulit-ulit na paggamit ng recursive na tawag sa mismong function.

Fib (n-1) + fib (n-2);

Ito ay nagpapakita na sa unang bahagi, isang numero bago ang kabuuang bilang ay naipasa sa function, ang halagang iyon ay ibabawas mula sa bilang na nakuha mula sa cell na naglalaman ng dalawang numero bago ang kabuuang bilang bilang isang parameter.

Ngayon sa pangunahing programa, ang numero ay itinalaga sa variable, at ang unang function na tawag ay ginawa upang ipasa ang numero sa function. Ngayon, i-execute ang source code ng file sa terminal para makuha ang sagot. Dito mo makikita na '13' ang sagot, dahil ang numerong ipinasok ay 7, kaya ang serye ay magiging 0+1+1+2+3+5+8+13.

Halimbawa 4

Kasama sa halimbawang ito ang OOP (object-oriented programming) na diskarte sa pagkalkula ng Fibonacci series. Ang isang klase na GFG ay nilikha. Sa pampublikong bahagi nito, nilikha ang isang function upang magkaroon ng array na mag-iimbak ng serye ng Fibonacci.

F [n +2];

Narito n ang numerong idineklara bilang 0 sa simula.

F[0] = 0;

F[1] = 1;

Ang mga numero sa index 0 at 1 ay idineklara bilang 0 at 1.

Pagkatapos nito, isang 'para sa' loop ang ginagamit kung saan kakalkulahin ang serye ng Fibonacci. Ang dalawang naunang numero ay idinagdag sa serye at maiimbak.

F[i] = f[i-1] + f[i -2];

Pagkatapos nito, ibabalik ang partikular na numero sa isang partikular na index.

Ang isang function na tawag ay ginawa sa pamamagitan ng paggamit ng bagay.

g.fib(n);

Ngayon isagawa ang code, at makikita mo na bilang ang numero ay 11, ang pagkakasunod-sunod ay magiging hanggang sa ika-11 na digit.

Konklusyon

Ang artikulong ito na 'Fibonacci sequence C++' ay pinaghalong iba't ibang approach na ginamit para gumawa ng sequence sa pamamagitan ng pagdaragdag ng dalawang naunang numero. Sa isang simpleng pamamaraan ng pagpapalit, bilang karagdagan sa paraan ng recursion at sa tulong ng mga arrays, maaari naming buuin ang mga numerong ito sa serye. Upang lumikha ng seryeng Fibonacci, ang mga numero ay inirerekomenda na nasa integer na uri ng data. Maaari nating kalkulahin ang serye sa pamamagitan ng paglalapat ng mga limitasyon sa bilang ng mga linya at bilang ng pagkakasunod-sunod.