Mga Numero ng Fibonacci na May JavaScript

Mga Numero Ng Fibonacci Na May Javascript



“Ang JavaScript ay ECMAScript na ngayon. Ang pagbuo ng JavaScript ay ipinagpatuloy bilang ECMAScript. Ginagamit pa rin ang nakareserbang salitang 'javascript', para lang sa backward compatibility.'

Kahulugan ng Fibonacci Numbers

Ang mga numero ng Fibonacci ay isang partikular na pagkakasunud-sunod ng mga positibong integer, simula sa 0. Ang mga buong numero ay mga positibong integer. Kaya, ang numerong Fibonacci ay isang partikular na pagkakasunud-sunod ng mga buong numero o natural na mga numero, simula sa 0. Sa sequence na ito, ang unang dalawang numero ay 0 at 1, sa ganoong pagkakasunud-sunod. Ang natitirang mga numero ay binuo mula doon sa pamamagitan ng pagdaragdag ng nakaraang dalawang numero. Ang unang labindalawang numero ng Fibonacci ay nakuha tulad ng sumusunod:

0
1
1 + 0 = 1
1 + 1 = 2
2 + 1 = 3
3 + 2 = 5
5 + 3 = 8
8 + 5 = 13
13 + 8 = 21
21 + 13 = 34
34 + 21 = 55
55 + 34 = 89







Sa madaling salita, ang unang labindalawang numero ng Fibonacci ay:



0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89



Siyempre, ang ikalabintatlong numero ay magiging: 144 = 55 + 89. Ang mga numero ng Fibonacci ay maaaring isipin na nasa isang array, tulad nito:





0 1 1 dalawa 3 5 8 13 dalawampu't isa 3. 4 55 89

Ang isang array ay may mga index. Sa sumusunod na talahanayan, ang pangalawang row ay nagpapakita ng kaukulang zero-based na mga index para sa mga numero ng Fibonacci sa isang array:

0 1 1 dalawa 3 5 8 13 dalawampu't isa 3. 4 55 89
0 1 dalawa 3 4 5 6 7 8 9 10 labing-isa

Sa zero-based na mga index, kung mayroong labindalawang elemento, ang huling index ay 11.



Ang mga numero ng Fibonacci ay maaaring gawin sa O(n) na oras o sa O(1) na oras. Sa mga expression ng pagiging kumplikado ng oras na ito, ang n ay nangangahulugang n pangunahing operasyon, at ang 1 ay nangangahulugang 1 pangunahing operasyon. Sa O(n), n ang mga numero ng Fibonacci ay ginawa, simula sa 0. Sa O(1), ang isang numero ng Fibonacci ay ginawa mula sa kaukulang index. Kaya naman ang O(1) ay kumukuha lamang ng isang pangunahing operasyon sa halip na n pangunahing operasyon.

Ang layunin ng artikulong ito ay ipaliwanag kung paano gumawa ng mga numero ng Fibonacci, alinman sa paraan, gamit ang JavaScript, na talagang ECMAScript ngayon.

Kapaligiran sa Pag-coding

Ang kapaligiran ng node.js ay hindi gagamitin tulad ng inaasahan ng mambabasa. Sa halip, gagamitin ang browser para sa interpretasyon ng code at pagpapakita ng mga resulta. Ang script (code) ay dapat na nakasulat sa isang text editor file, na dapat i-save gamit ang extension na '.html.' Ang script ay dapat na may pinakamababang code:

DOCTYPE HTML >
< html >
< ulo >
< pamagat > Mga Numero ng Fibonacci na may JavaScript pamagat >
ulo >
< katawan >
< uri ng script = 'text/ecmascript' >

iskrip >
katawan >
html >

Ito ay isang tinatayang minimum na code na kailangan ng isang web page. Ang lahat ng coding para sa artikulong ito ay napupunta sa pagitan ng mga tag, .

Upang patakbuhin ang nakasulat na code (idinagdag), i-double click lamang ang icon ng filename, at bubuksan ito ng browser ng computer.

Kahulugan ng Numero ng Fibonacci

Mayroong isang mathematical na kahulugan para sa isang numerong Fibonacci. Ito ay tinukoy bilang mga sumusunod:

Kung saan ang Fn ay isang numero ng Fibonacci na tumutugma sa isang zero-based na index, n.

Ang unang dalawang numero: 0 at 1, ay paunang idineklara, sa ganoong pagkakasunud-sunod. Ipinapakita ng huling linya ng function na ito kung paano nagmula ang natitirang mga numero sa unang dalawang numero sa kanilang pagkakasunud-sunod.

Ang kahulugan na ito ay isa rin sa mga formula para sa numerong Fibonacci.

Paggawa ng mga Fibonacci Number sa O(n) Time

Kung ang n ay 1, 0 lang ang ipapakita bilang isang numero ng Fibonacci. Kung ang n ay 2, ang 0 at 1 ay ipapakita bilang mga numero ng Fibonacci, sa ganoong pagkakasunud-sunod. Kung ang n ay 3, ang 0, 1, at 1 ay ipapakita bilang mga numero ng Fibonacci sa ganoong pagkakasunud-sunod. Kung ang n ay 4, ang 0, 1, 1, at 2 ay ipapakita bilang mga numero ng Fibonacci, sa ganoong pagkakasunud-sunod. Kung ang n ay 5, ang 0, 1, 1, 2, at 3 ay ipapakita bilang mga numero ng Fibonacci, sa ganoong pagkakasunud-sunod. Kung ang n ay 6, ang 0, 1, 1, 2, 3, at 5 ay ipapakita bilang mga numero ng Fibonacci, sa ganoong pagkakasunud-sunod - at iba pa.

Ang ECMAscript function upang makabuo ng unang n Fibonacci integers (mga numero) ay:

< uri ng script = 'text/ecmascript' >
function fibonacci ( A ) {
n = A. haba ;
kung ( n > 0 )
A [ 0 ] = 0 ;
kung ( n > 1 )
A [ 1 ] = 1 ;
para sa ( i = dalawa ; i < n ; i ++ ) { //n=0 at n=2 ay isinaalang-alang
currNo = A [ i - 1 ] + A [ i - dalawa ] ;
A [ i ] = currNo ;
}
}

Hindi naipakita ang closing script tag. Ang function ay tumatanggap ng isang array. Ang unang dalawang numero ng Fibonacci ay itinalaga sa kanilang posisyon. Ang for-loop ay umuulit mula sa zero-based na index, 2 hanggang sa ibaba lamang ng n. Ang pinakamahalagang pahayag sa for-loop ay:

currNo = A[i – 1] + A[i – 2];

Ito ay nagdaragdag ng agarang nakaraang dalawang numero sa array upang magkaroon ng kasalukuyang numero. Sa oras na matapos ang pag-andar ng fibonacci() , ang lahat ng mga elemento ng array ay ang unang n Fibonacci na numero. Ang angkop na code para tawagan ang fibonacci() function at ipakita ang mga numero ng Fibonacci ay:

N = 12 ;
arr = bago Array ( N ) ;
fibonacci ( arr ) ;
para sa ( i = 0 ; i < N ; i ++ )
dokumento. magsulat ( arr [ i ] + '' ) ;
dokumento. magsulat ( '
'
) ;
iskrip >

Ipinapakita ng code na ito ang closing script tag. Ang code ay nai-type sa ibaba ng code sa itaas. Ang output na ipinapakita sa web page ay:

0 1 1 2 3 5 8 13 21 34 55 89

tulad ng inaasahan.

Paggawa ng Isang Fibonacci Number sa O(1) Time

Ang O(1) ay pare-parehong oras. Ito ay tumutukoy sa isang pangunahing operasyon. Ang isa pang mathematical formula para makagawa ng Fibonacci number ay:

Tandaan na sa kanang bahagi ng equation, hindi ang square root ng 5 ang itinaas sa power n; ito ay ang pagpapahayag sa panaklong na itinaas sa kapangyarihan n. Mayroong dalawang ganoong ekspresyon.

Kung ang n ay 0, ang Fibn ay magiging 0. Kung ang n ay 1, ang Fibn ay magiging 1. Kung ang n ay 2, ang Fibn ay magiging 1. Kung ang n ay 3, ang Fibn ay magiging 2. Kung ang n ay 4, ang Fibn ay magiging 3 - at iba pa. Maaaring i-verify ng mambabasa ang formula na ito sa matematika sa pamamagitan ng pagpapalit ng iba't ibang mga halaga para sa n at pagsusuri. n ay isang zero-based na index sa formula na ito. Ang resulta ay ang katumbas na numero ng Fibonacci.

Ang ECMAScript (JavaScript) code para sa formula na ito ay:

< uri ng script = 'text/ecmascript' >
function fibNo ( n ) {
FibN = ( Math . pow ( ( 1 + Math . sqrt ( 5 ) ) / dalawa , n ) - Math . pow ( ( 1 - Math . sqrt ( 5 ) ) / dalawa , n ) ) / Math . sqrt ( 5 ) ;
bumalik FibN ;
}

Hindi naipakita ang closing script tag. Pansinin kung paano ginamit ang power (pow) at square root (sqrt) na mga function. Sa ECMAScript (JavaScript), hindi kailangang i-import ang Math module. Direktang ipinapatupad ng function na fibNo() ang formula. Ang angkop na tawag at display para sa fibNo() function sa web page ay:

N = labing-isa ;
tama = fibNo ( N ) ;
dokumento. magsulat ( tama ) ;
script >

Ipinapakita ng code ang closing script tag. Ang output ay:

89.00000000000003

Posibleng tanggalin ang mga hindi kinakailangang decimal digit sa sagot. Gayunpaman, iyon ay isang talakayan para sa ibang pagkakataon.

Kung higit sa isang numero ng Fibonacci ang kinakailangan, kailangang tawagan ng code ang formula nang isang beses para sa bawat zero based na kaukulang n index.

Konklusyon

Ang mga numero ng Fibonacci ay isang partikular na pagkakasunud-sunod ng mga positibong integer, simula sa 0. Ang mga buong numero ay mga positibong integer. Kaya, ang numero ng Fibonacci ay isang partikular na pagkakasunud-sunod ng mga buong numero o natural na mga numero, simula sa 0. Sa sequence na ito, ang unang dalawang numero ay 0 at 1, sa ganoong pagkakasunud-sunod. Ang unang dalawang numerong ito ay tinukoy lamang bilang ganoon. Ang natitirang mga numero ay binuo mula doon sa pamamagitan ng pagdaragdag ng agarang nakaraang dalawang numero.

Pagkatapos gawin ang unang dalawang numero ng Fibonacci, upang makabuo ng natitirang mga numero ng Fibonacci, upang magkaroon ng kabuuang n numero, isang for-loop ang kailangang gamitin kasama ng pahayag:

currNo = A[i – 1] + A[i – 2];

Ito ay nagdaragdag ng agarang huling dalawang numero ng Fibonacci upang magkaroon ng kasalukuyang numero ng Fibonacci.

Kapag binigyan ng zero-based na index, para magkaroon ng katumbas na Fibonacci number, gamitin ang formula: