Фибоначијеви бројеви са ЈаваСцрипт-ом

Fibonacijevi Brojevi Sa Javascript Om



„ЈаваСцрипт је сада ЕЦМАСцрипт. Развој ЈаваСцрипт-а се наставља као ЕЦМАСцрипт. Резервисана реч „јавасцрипт“ се и даље користи, само за компатибилност уназад.“

Значење Фибоначијевих бројева

Фибоначијеви бројеви су одређени низ позитивних целих бројева, почевши од 0. Цели бројеви су позитивни цели бројеви. Дакле, Фибоначијев број је одређени низ целих бројева или природних бројева, који почиње од 0. У овом низу, прва два броја су 0 и 1, тим редоследом. Остали бројеви се развијају одатле додавањем претходна два броја. Првих дванаест Фибоначијевих бројева се добијају на следећи начин:

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







Другим речима, првих дванаест Фибоначијевих бројева су:



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



Наравно, тринаести број би био: 144 = 55 + 89. Фибоначијеви бројеви се могу замислити у низу, овако:





0 1 1 два 3 5 8 13 двадесет један 3. 4 55 89

Низ има индексе. У следећој табели, други ред приказује одговарајуће индексе засноване на нули за Фибоначијеве бројеве у низу:

0 1 1 два 3 5 8 13 двадесет један 3. 4 55 89
0 1 два 3 4 5 6 7 8 9 10 Једанаест

Код индекса заснованих на нули, ако постоји дванаест елемената, онда је последњи индекс 11.



Фибоначијеви бројеви се могу произвести у О(н) времену или у О(1) времену. У овим изразима временске сложености, н значи н главних операција, а 1 значи 1 главну операцију. Са О(н), производи се н Фибоначијевих бројева, почевши од 0. Са О(1), један Фибоначијев број се производи из одговарајућег индекса. Због тога О(1) узима само једну главну операцију уместо н главних операција.

Циљ овог чланка је да објасни како произвести Фибоначијеве бројеве, било како, користећи ЈаваСцрипт, који је данас заправо ЕЦМАСцрипт.

Окружење за кодирање

Окружење ноде.јс се неће користити као што је читалац очекивао. Уместо тога, претраживач ће се користити за тумачење кода и приказивање резултата. Скрипт (код) треба да буде написан у датотеци за уређивање текста, коју треба сачувати са екстензијом „.хтмл“. Скрипта треба да има минимални код:

ДОЦТИПЕ ХТМЛ >
< хтмл >
< глава >
< наслов > Фибоначијеви бројеви са ЈаваСцрипт-ом наслов >
глава >
< тело >
< тип скрипте = 'тект/ецмасцрипт' >

скрипта >
тело >
хтмл >

Ово је приближан минимални код који је потребан веб страници. Сво кодирање за овај чланак иде између ознака, <сцрипт типе=’тект/ецмасцрипт’> и .

Да бисте покренули написани (додати) код, само двапут кликните на икону назива датотеке и претраживач рачунара ће је отворити.

Дефиниција Фибоначијевог броја

Постоји математичка дефиниција за Фибоначијев број. Дефинише се на следећи начин:

Где је Фн Фибоначијев број који одговара индексу заснованом на нули, н.

Прва два броја: 0 и 1 су унапред декларисана, тим редоследом. Последњи ред ове функције показује како остали бројеви потичу од прва два броја по свом редоследу.

Ова дефиниција је такође једна од формула за Фибоначијев број.

Израда Фибоначијевих бројева у О(н) времену

Ако је н 1, тада би само 0 било приказано као Фибоначијев број. Ако је н 2, онда би 0 и 1 били приказани као Фибоначијеви бројеви, тим редоследом. Ако је н 3, онда ће 0, 1 и 1 бити приказани као Фибоначијеви бројеви тим редоследом. Ако је н 4, онда ће 0, 1, 1 и 2 бити приказани као Фибоначијеви бројеви, тим редоследом. Ако је н 5, онда ће 0, 1, 1, 2 и 3 бити приказани као Фибоначијеви бројеви, тим редоследом. Ако је н 6, онда би 0, 1, 1, 2, 3 и 5 били приказани као Фибоначијеви бројеви, тим редоследом – и тако даље.

ЕЦМАсцрипт функција за генерисање првих н Фибоначијевих целих бројева (бројева) је:

< тип скрипте = 'тект/ецмасцрипт' >
функција фибоначи ( А ) {
н = А. дужина ;
ако ( н > 0 )
А [ 0 ] = 0 ;
ако ( н > 1 )
А [ 1 ] = 1 ;
за ( и = два ; и < н ; и ++ ) { //н=0 и н=2 су узети у обзир
цуррНо = А [ и - 1 ] + А [ и - два ] ;
А [ и ] = цуррНо ;
}
}

Ознака завршне скрипте није приказана. Функција прима низ. Прва два Фибоначијева броја су додељена на њиховој позицији. Фор-петља се понавља од индекса заснованог на нули, 2 до мало испод н. Најважнија изјава у фор-петљи је:

цуррНо = А[и – 1] + А[и – 2];

Ово додаје непосредна претходна два броја у низ да би се добио тренутни број. До тренутка када функција фибоначи() заврши са извршавањем, сви елементи низа су првих н Фибоначијевих бројева. Погодан код за позивање функције фибоначи() и приказ Фибоначијевих бројева је:

Н = 12 ;
арр = Нова Низ ( Н ) ;
фибоначи ( арр ) ;
за ( и = 0 ; и < Н ; и ++ )
документ. писати ( арр [ и ] + '' ) ;
документ. писати ( '<бр>' ) ;
скрипта >

Овај код приказује ознаку завршне скрипте. Код је откуцан испод кода изнад. Резултат приказан на веб страници је:

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

као што је очекивано.

Израда једног Фибоначијевог броја за О(1) времена

О(1) је константно време. Односи се на једну главну операцију. Још једна математичка формула за производњу Фибоначијевог броја је:

Имајте на уму да на десној страни једначине није квадратни корен од 5 подигнут на степен н; то је израз у загради који је подигнут на степен н. Постоје два таква израза.

Ако је н 0, Фибн би био 0. Ако је н 1, Фибн би био 1. Ако је н 2, Фибн би био 1. Ако је н 3, Фибн би био 2. Ако је н 4, Фибн би био 3 – и тако даље. Читалац може да провери ову формулу математички тако што ће заменити различите вредности за н и проценити. н је индекс заснован на нули у овој формули. Резултат је одговарајући Фибоначијев број.

ЕЦМАСцрипт (ЈаваСцрипт) код за ову формулу је:

< тип скрипте = 'тект/ецмасцрипт' >
функција фибНо ( н ) {
ФибН = ( Матх . пов ( ( 1 + Матх . скрт ( 5 ) ) / два , н ) - Матх . пов ( ( 1 - Матх . скрт ( 5 ) ) / два , н ) ) / Матх . скрт ( 5 ) ;
повратак ФибН ;
}

Ознака завршне скрипте није приказана. Обратите пажњу на то како су претходно дефинисане функције снаге (пов) и квадратног корена (скрт) коришћене. У ЕЦМАСцрипт (ЈаваСцрипт), математички модул не мора да се увози. Функција фибНо() директно имплементира формулу. Одговарајући позив и приказ функције фибНо() на веб страници су:

Н = Једанаест ;
јел тако = фибНо ( Н ) ;
документ. писати ( јел тако ) ;
скрипта >

Код показује ознаку завршне скрипте. Излаз је:

89.00000000000003

Могуће је уклонити непотребне децималне цифре из одговора. Међутим, то је дискусија за неки други пут.

Ако је потребно више од једног Фибоначијевог броја, онда код мора да позове формулу једном за сваки одговарајући н индекс заснован на нули.

Закључак

Фибоначијеви бројеви су одређени низ позитивних целих бројева, почевши од 0. Цели бројеви су позитивни цели бројеви. Дакле, Фибоначијев број је одређени низ целих бројева или природних бројева, који почиње од 0. У овом низу, прва два броја су 0 и 1, тим редоследом. Ова прва два броја су само дефинисана као таква. Остали бројеви се развијају одатле додавањем непосредна претходна два броја.

Након што се произведу прва два Фибоначијева броја, да би се произвели остали Фибоначијеви бројеви, да би се завршило са укупно н бројева, мора се користити фор-петља са наредбом:

цуррНо = А[и – 1] + А[и – 2];

Ово додаје непосредна последња два Фибоначијева броја да би имали тренутни Фибоначијев број.

Када се добије индекс заснован на нули, да бисте имали одговарајући Фибоначијев број, користите формулу: