Mga Computer

Pagprogram ng Sequence ng Fibonacci: Mga Pangunahing Kaalaman sa Agham ng Computer

May -Akda: Peter Berry
Petsa Ng Paglikha: 15 Hulyo 2021
I -Update Ang Petsa: 11 Mayo 2024
Anonim
Pagprogram ng Sequence ng Fibonacci: Mga Pangunahing Kaalaman sa Agham ng Computer - Mga Computer
Pagprogram ng Sequence ng Fibonacci: Mga Pangunahing Kaalaman sa Agham ng Computer - Mga Computer

Nilalaman

Gusto kong turuan ang iba tungkol sa pangunahing mga konsepto sa computer science.

Panimula sa Fibbps Sequence

Sa artikulong ito, tatalakayin ko ang pangalawang pamamaraan sa aking serye ng mga recursive algorithm. Tulad ng mga factorial, ang pagkakasunud-sunod ng Fibonacci ay isa pang algorithm na nagpapakita ng paglago ng paglago sa paglipas ng panahon. Isa rin ito sa apat na pamamaraan na ginamit sa pag-aaral ng recursion. Kaya, sa nasabing iyon, nais kong unang magbigay ng isang pangkalahatang ideya ng kung ano ang pagkakasunud-sunod ng Fibonacci.

Sino si Leonardo Fibonacci?

Si Leonardo Pisano Boglio (aka Leonardo Fibonacci) ay isang dalub-agbilang Italyano noong Panahon ng Edad (mga 1170 - 1250). Siya ay itinuturing na isa sa mga nangungunang matematiko ng kanyang oras at kredito sa paglikha ng libro Liber Abaci, na kung saan ay isang libro batay sa mga kalkulasyon ng matematika. Siyempre, ang pinakatanyag na algorithm sa libro ay ang pagkakasunud-sunod ng Fibonacci, na batay sa paglutas ng isang problema sa pagharap sa paglaki ng populasyon ng mga rabbits. Ang aktwal na pagkakasunud-sunod ay hindi kanyang sarili subalit. Ang algorithm ay talagang batay sa kaalamang nakuha niya mula sa mga matematiko ng Hindu na natuklasan ito sa paligid ng ika-6 na siglo. Gayunpaman, ito ang kauna-unahang pagkakataon na ang algorithm ay ipinakilala sa Kanluran at binigyan ang Fibonacci ng modernong reputasyon bilang isa sa mga taong tumulong upang ipakilala ang sistemang numero ng Hindu / Arabe sa Europa.


Kaya Ano ang Eksakto Ay ang Fibonacci Sequence?

Ang pagkakasunud-sunod ay isang sagot sa isang problema sa pagharap sa exponential na paglaki ng isang populasyon. Sa kaso ng libro ni Fibonacci, nakitungo ito sa paglaki ng populasyon ng mga rabbits. Isinasaalang-alang ng algorithm ang bilang ng mga pag-ulit o beses na ang isang pagpapaandar ay tinawag at idinadagdag ang kabuuan ng pag-ulit na minus isa at ang dating numero na minus dalawa. Gayunpaman, sa kaso ng at bilang ng pag-ulit ng 0 o 1, ang kabuuan ay palaging katumbas ng 0 at 1 ayon sa pagkakabanggit. Gayunpaman, kapag ang bilang ng pag-ulit ay mas mataas kaysa sa isa, makikita mo ang isang exponential na paglaki sa kabuuan na ginawa. Ang sumusunod ay kung paano nakasulat ang pormula upang magbigay ng isang mas mahusay na ideya sa kung ano ang nangyayari:

Fib (n) kung saan n = 0, ang kabuuan ay laging 0 [base case]

Fib (n) kung saan n = 1, ang kabuuan ay palaging 1 [base case]

Gayunpaman, Fib (n) kung saan ang lahat ng mga integer n> 1 pagkatapos Fib (n) ay (Fib (n-1) + Fib (n-2)).

Kaya, kung ang pag-ulit ay 0 o 1 pagkatapos ang numero ay katumbas ng 0 at 1 ayon sa pagkakabanggit. Gayunpaman, habang ang mga pag-ulit ay tumaas nang lampas sa 1, nagsisimula kang makakita ng exponential na paglago sa output.


Ang Sequence ng Fibonacci dahil nauugnay ito sa Agham sa Computer

Sa akademya, nais ng mga kurso sa pagprogram ng computer science ang algorithm na ito sa kanilang pag-aaral ng mga recursive na pamamaraan. Sa C.S., ang isang recursive na pamamaraan ay isang pamamaraan na tinutukoy sa loob ng sarili nitong kahulugan. Talaga, sa halip na ang pamamaraan ay tinawag ng ibang pamamaraan, ito mismo ang tumatawag. Alin sa sarili nitong paraan na ginagawang ibang paraan upang mag-program ng isang loop?

Ang pangangatuwiran sa likod ng pag-aaral ay upang bigyan ang mga mag-aaral ng pag-unawa sa kung paano malutas ang ilang mga problema na nangangailangan ng isang solusyon mula sa isang pangunahing kaso. Ito ang dahilan kung bakit ang pagkakasunud-sunod ng Fibonacci ay napakapopular dahil nagbibigay ito ng isang base case pagkatapos ay pinapayagan ang isang programa na gumawa ng paulit-ulit na mga tawag sa isang pamamaraan upang malutas ang problema. Sa nasabing iyon, sa ibaba ay isang halimbawa ng Java ng mga recursion na gumagamit ng Fibonacci formula.

Halimbawa ng Recursion gamit ang Fibonacci Sequence.

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // Halimbawa ng recursion gamit ang pagkakasunud-sunod ng Fibonacci sa Java. // // May-akda: Bink // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * package fibatiracirecursion; import java.math.BigInteger; // Para sa pagpapaandar ng matematika na klase sa publiko FibonacciRecursion {// Itakda ang paunang halaga para sa BigInterger: ibalik ang numero ng pribadong static na BigInteger DALAWA = BigInteger.valueOf (2); // Do the recursive calculations public static BigInteger fibonacciCalculations (BigInteger number) number.equals (BigInteger.ONE)) return number; iba pa ibalik ang fibonacciCalculations (number.subtract (BigInteger.ONE)). idagdag (fibonacciCalculations (number.subtract (DALAWANG))); // end function public static void main (String [] args) {// patakbuhin ang pagkakasunud-sunod hanggang sa counter == 30 para (int counter = 0; counter = 30; counter ++) {System.out.printf ("Fibonacci ng% d ay:% d n ", counter, fibonacciCalculations (BigInteger.valueOf (counter))); } // end for} // end main} // end class

Konklusyon:

Sa gayon ay buod kung ano ang recursion at kung gaano kahalaga ang pormula ng Fibonacci sa pag-aaral ng recursion. Kung kinopya mo ang code sa itaas, makikita mo na pagkatapos ng bawat pag-ulit, ang mga numero ay paakyat nang mabilis hanggang sa maabot mo ang anumang itakda na itakda mo. Sa kaso ng programa sa itaas, ang limitasyon ng pag-ulit ay nakatakda sa 30.


Muli, tulad ng nakasaad nang mas maaga, ang pagkakasunud-sunod ng Fibonacci ay isang mahusay na paraan upang malaman kung paano mag-program ng isang recursive na pamamaraan. Malawakang ginagamit ito sa akademya sa kolehiyo mula sa computer science hanggang sa mga degree sa matematika at nagbibigay ito sa isang programmer ng isa pang tool sa kanilang arsenal upang malutas ang mga problema.

Ang artikulong ito ay tumpak at totoo sa abot ng kaalaman ng may-akda. Ang nilalaman ay para lamang sa mga layuning pang-impormasyon o aliwan at hindi kapalit ng pansariling payo o payo sa propesyonal sa mga usapin sa negosyo, pampinansyal, ligal, o panteknikal.

Mangyaring ilagay ang mga puna dito.

Binkster (may-akda) noong Enero 07, 2012:

Salamat ib,

Bago ako sa laro kaya salamat sa payo. Sisimulan ko nang gawin iyon.

Bink

ib radmasters mula sa Timog California sa Enero 07, 2012:

Bink

Magandang hub, at kagiliw-giliw na background.

Kung ginagawa ko ang program na ito, ang aking istilo ay ilagay ang pangkalahatang ideya ng mga kalkulasyon sa kahon ng komento.

Ngunit iyon ang aking personal na istilo.

Salamat po

Kamangha-Manghang Mga Artikulo

Bagong Mga Artikulo

Pagsusuri ng 3-in-1 Charging Dock para sa Airpods, Apple Watch, at iPhone
Mga Computer

Pagsusuri ng 3-in-1 Charging Dock para sa Airpods, Apple Watch, at iPhone

Ang Krzy ztof ay i ang habang-buhay na tech junkie na iniimbe tigahan ang pinakabagong mga kwento mula a mga kumpanya tulad ng Apple, am ung, Google, at Amazon.Ang 3-in-1 Charging Dock para a AirPod ,...
Paano Mag-export ng Data ng Netflow Mula sa pfSense Paggamit ng pfflowd
Mga Computer

Paano Mag-export ng Data ng Netflow Mula sa pfSense Paggamit ng pfflowd

i am ay nagtatrabaho bilang i ang analy t a network para a i ang algorithmic trading firm. Nakuha niya ang kanyang bachelor' degree a information technology mula a UMKC.Ang pag-unawa a dami at ur...