జావాస్క్రిప్ట్‌తో ఫైబొనాక్సీ నంబర్‌లు

Javaskript To Phaibonaksi Nambar Lu



“జావాస్క్రిప్ట్ ఇప్పుడు ECMAScript. జావాస్క్రిప్ట్ అభివృద్ధి ECMAScript వలె కొనసాగుతుంది. రిజర్వ్ చేయబడిన పదం 'జావాస్క్రిప్ట్' ఇప్పటికీ వెనుకకు అనుకూలత కోసం మాత్రమే ఉపయోగించబడుతోంది.

ఫైబొనాక్సీ సంఖ్యల అర్థం

ఫైబొనాక్సీ సంఖ్యలు 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.



ఫైబొనాక్సీ సంఖ్యలను O(n) సమయంలో లేదా O(1) సమయంలో ఉత్పత్తి చేయవచ్చు. ఈ సమయ సంక్లిష్టత వ్యక్తీకరణలలో, n అంటే n ప్రధాన కార్యకలాపాలు మరియు 1 అంటే 1 ప్రధాన ఆపరేషన్. O(n)తో, n ఫైబొనాక్సీ సంఖ్యలు 0 నుండి ప్రారంభమవుతాయి. O(1)తో, సంబంధిత సూచిక నుండి ఒక ఫైబొనాక్సీ సంఖ్య ఉత్పత్తి చేయబడుతుంది. అందుకే O(1) n ప్రధాన కార్యకలాపాలకు బదులుగా కేవలం ఒక ప్రధాన ఆపరేషన్‌ను తీసుకుంటుంది.

ఈ కథనం యొక్క లక్ష్యం జావాస్క్రిప్ట్‌ని ఉపయోగించి ఫిబొనాక్సీ నంబర్‌లను ఎలా ఉత్పత్తి చేయాలో వివరించడం, ఇది నిజానికి ఈరోజు ECMAScript.

కోడింగ్ ఎన్విరాన్మెంట్

రీడర్ ఊహించినట్లుగా node.js పర్యావరణం ఉపయోగించబడదు. బదులుగా, బ్రౌజర్ కోడ్ యొక్క వివరణ మరియు ఫలితాలను ప్రదర్శించడానికి ఉపయోగించబడుతుంది. స్క్రిప్ట్ (కోడ్) టెక్స్ట్ ఎడిటర్ ఫైల్‌లో వ్రాయబడాలి, అది “.html” పొడిగింపుతో సేవ్ చేయబడాలి. స్క్రిప్ట్‌లో కనీస కోడ్ ఉండాలి:

డాక్టైప్ HTML >
< html >
< తల >
< శీర్షిక > జావాస్క్రిప్ట్‌తో ఫిబొనాక్సీ నంబర్‌లు శీర్షిక >
తల >
< శరీరం >
< స్క్రిప్ట్ రకం = 'టెక్స్ట్/ఎక్మాస్క్రిప్ట్' >

స్క్రిప్ట్ >
శరీరం >
html >

ఇది వెబ్ పేజీకి అవసరమైన సుమారు కనీస కోడ్. ఈ ఆర్టికల్ కోసం కోడింగ్ అంతా అనే ట్యాగ్‌ల మధ్య ఉంటుంది.

వ్రాసిన (జోడించిన) కోడ్‌ను అమలు చేయడానికి, ఫైల్ పేరు యొక్క చిహ్నాన్ని రెండుసార్లు క్లిక్ చేయండి మరియు కంప్యూటర్ యొక్క బ్రౌజర్ దాన్ని తెరుస్తుంది.

ఫైబొనాక్సీ సంఖ్య యొక్క నిర్వచనం

ఫైబొనాక్సీ సంఖ్యకు గణిత నిర్వచనం ఉంది. ఇది క్రింది విధంగా నిర్వచించబడింది:

Fn అనేది సున్నా-ఆధారిత సూచికకు సంబంధించిన ఫైబొనాక్సీ సంఖ్య, n.

మొదటి రెండు సంఖ్యలు: 0 మరియు 1, ఆ క్రమంలో ముందుగా ప్రకటించబడ్డాయి. ఈ ఫంక్షన్ యొక్క చివరి పంక్తి, మిగిలిన సంఖ్యలు వాటి క్రమంలో మొదటి రెండు సంఖ్యల నుండి ఎలా ఉద్భవించాయో చూపిస్తుంది.

ఈ నిర్వచనం కూడా ఫైబొనాక్సీ సంఖ్య సూత్రాలలో ఒకటి.

O(n) సమయంలో ఫైబొనాక్సీ సంఖ్యలను ఉత్పత్తి చేయడం

n 1 అయితే, ఫిబొనాక్సీ సంఖ్యగా 0 మాత్రమే ప్రదర్శించబడుతుంది. n 2 అయితే, ఆ క్రమంలో 0 మరియు 1 ఫిబొనాక్సీ సంఖ్యలుగా ప్రదర్శించబడతాయి. n 3 అయితే, ఆ క్రమంలో 0, 1 మరియు 1 ఫిబొనాక్సీ సంఖ్యలుగా ప్రదర్శించబడతాయి. n 4 అయితే, ఆ క్రమంలో 0, 1, 1 మరియు 2 ఫిబొనాక్సీ సంఖ్యలుగా ప్రదర్శించబడతాయి. n 5 అయితే, ఆ క్రమంలో 0, 1, 1, 2, మరియు 3 ఫిబొనాక్సీ సంఖ్యలుగా ప్రదర్శించబడతాయి. n 6 అయితే, 0, 1, 1, 2, 3, మరియు 5 ఆ క్రమంలో ఫైబొనాక్సీ సంఖ్యలుగా ప్రదర్శించబడతాయి - మరియు మొదలైనవి.

మొదటి n ఫైబొనాక్సీ పూర్ణాంకాలను (సంఖ్యలు) రూపొందించడానికి ECMAscript ఫంక్షన్:

< స్క్రిప్ట్ రకం = 'టెక్స్ట్/ఎక్మాస్క్రిప్ట్' >
ఫంక్షన్ ఫైబొనాక్సీ ( ) {
n = ఎ. పొడవు ;
ఉంటే ( n > 0 )
[ 0 ] = 0 ;
ఉంటే ( n > 1 )
[ 1 ] = 1 ;
కోసం ( i = రెండు ; i < n ; i ++ ) { //n=0 మరియు n=2 పరిగణించబడ్డాయి
curr No = [ i - 1 ] + [ i - రెండు ] ;
[ i ] = curr No ;
}
}

ముగింపు స్క్రిప్ట్ ట్యాగ్ చూపబడలేదు. ఫంక్షన్ శ్రేణిని పొందుతుంది. మొదటి రెండు ఫైబొనాక్సీ సంఖ్యలు వాటి స్థానంలో కేటాయించబడ్డాయి. ఫర్-లూప్ సున్నా-ఆధారిత ఇండెక్స్, 2 నుండి n కంటే కొంచెం తక్కువగా ఉంటుంది. ఫర్-లూప్‌లో అత్యంత ముఖ్యమైన ప్రకటన:

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

ఇది ప్రస్తుత సంఖ్యను కలిగి ఉండటానికి శ్రేణిలో తక్షణ మునుపటి రెండు సంఖ్యలను జోడిస్తుంది. ఫైబొనాక్సీ() ఫంక్షన్‌ని అమలు చేయడం పూర్తయ్యే సమయానికి, శ్రేణిలోని అన్ని మూలకాలు మొదటి n ఫైబొనాక్సీ సంఖ్యలు. ఫైబొనాక్సీ() ఫంక్షన్‌కి కాల్ చేయడానికి మరియు ఫైబొనాక్సీ నంబర్‌లను ప్రదర్శించడానికి తగిన కోడ్:

ఎన్ = 12 ;
అరె = కొత్త అమరిక ( ఎన్ ) ;
ఫైబొనాక్సీ ( అరె ) ;
కోసం ( i = 0 ; i < ఎన్ ; i ++ )
పత్రం. వ్రాయడానికి ( అరె [ i ] + '' ) ;
పత్రం. వ్రాయడానికి ( '
'
) ;
స్క్రిప్ట్ >

ఈ కోడ్ ముగింపు స్క్రిప్ట్ ట్యాగ్‌ని చూపుతుంది. పై కోడ్ క్రింద కోడ్ టైప్ చేయబడింది. వెబ్ పేజీలో ప్రదర్శించబడే అవుట్‌పుట్:

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

అనుకున్న విధంగా.

O(1) సమయంలో ఒక ఫైబొనాక్సీ సంఖ్యను ఉత్పత్తి చేయడం

O(1) అనేది స్థిరమైన సమయం. ఇది ఒక ప్రధాన ఆపరేషన్‌ను సూచిస్తుంది. ఫైబొనాక్సీ సంఖ్యను ఉత్పత్తి చేయడానికి మరొక గణిత సూత్రం:

సమీకరణం యొక్క కుడి వైపున, అది పవర్ nకి పెంచబడిన 5 యొక్క వర్గమూలం కాదని గమనించండి; ఇది కుండలీకరణాల్లోని వ్యక్తీకరణ శక్తి nకి పెంచబడుతుంది. అలాంటి రెండు వ్యక్తీకరణలు ఉన్నాయి.

n 0 అయితే, Fibn 0 అవుతుంది. n 1 అయితే, Fibn 1 అవుతుంది. n అయితే 2, Fibn 1 అవుతుంది. n అయితే 3, Fibn 2 అవుతుంది. n అయితే 4, Fibn 3 అవుతుంది. మరియు అందువలన న. రీడర్ ఈ ఫార్ములాను n కోసం వివిధ విలువలను ప్రత్యామ్నాయం చేయడం మరియు మూల్యాంకనం చేయడం ద్వారా గణితశాస్త్రంలో ధృవీకరించవచ్చు. n అనేది ఈ ఫార్ములాలో సున్నా-ఆధారిత సూచిక. ఫలితం సంబంధిత ఫైబొనాక్సీ సంఖ్య.

ఈ ఫార్ములా కోసం ECMAScript (జావాస్క్రిప్ట్) కోడ్:

< స్క్రిప్ట్ రకం = 'టెక్స్ట్/ఎక్మాస్క్రిప్ట్' >
ఫంక్షన్ fibNo ( n ) {
FibN = ( గణితం . పావు ( ( 1 + గణితం . ( 5 ) ) / రెండు , n ) - గణితం . పావు ( ( 1 - గణితం . ( 5 ) ) / రెండు , n ) ) / గణితం . ( 5 ) ;
తిరిగి FibN ;
}

ముగింపు స్క్రిప్ట్ ట్యాగ్ చూపబడలేదు. పవర్ (పౌ) మరియు వర్గమూలం (sqrt) ముందే నిర్వచించిన ఫంక్షన్‌లు ఎలా ఉపయోగించబడ్డాయో గమనించండి. ECMAScript (జావాస్క్రిప్ట్)లో, గణిత మాడ్యూల్ దిగుమతి చేయవలసిన అవసరం లేదు. fibNo() ఫంక్షన్ సూత్రాన్ని నేరుగా అమలు చేస్తుంది. వెబ్ పేజీలో fibNo() ఫంక్షన్ కోసం తగిన కాల్ మరియు ప్రదర్శన:

ఎన్ = పదకొండు ;
కుడి = fibNo ( ఎన్ ) ;
పత్రం. వ్రాయడానికి ( కుడి ) ;
స్క్రిప్ట్ >

కోడ్ ముగింపు స్క్రిప్ట్ ట్యాగ్‌ను చూపుతుంది. అవుట్‌పుట్:

89.00000000000003

సమాధానం నుండి అనవసరమైన దశాంశ అంకెలను తొలగించడం సాధ్యమవుతుంది. అయితే, అది మరొక సారి చర్చ.

ఒకటి కంటే ఎక్కువ ఫైబొనాక్సీ సంఖ్యలు అవసరమైతే, కోడ్ ప్రతి సున్నా ఆధారిత సంబంధిత n సూచికకు ఒకసారి సూత్రాన్ని కాల్ చేయాలి.

ముగింపు

ఫైబొనాక్సీ సంఖ్యలు 0 నుండి ప్రారంభమయ్యే సానుకూల పూర్ణాంకాల యొక్క నిర్దిష్ట క్రమం. పూర్ణ సంఖ్యలు ధన పూర్ణాంకాలు. కాబట్టి, ఫైబొనాక్సీ సంఖ్య అనేది 0 నుండి ప్రారంభమయ్యే పూర్ణ సంఖ్యలు లేదా సహజ సంఖ్యల యొక్క నిర్దిష్ట క్రమం. ఈ క్రమంలో, మొదటి రెండు సంఖ్యలు 0 మరియు 1, ఆ క్రమంలో ఉంటాయి. ఈ మొదటి రెండు సంఖ్యలు కేవలం అలా నిర్వచించబడ్డాయి. మిగిలిన సంఖ్యలు వెంటనే మునుపటి రెండు సంఖ్యలను జోడించడం ద్వారా అభివృద్ధి చేయబడ్డాయి.

మొదటి రెండు ఫిబొనాక్సీ సంఖ్యలను ఉత్పత్తి చేసిన తర్వాత, మిగిలిన ఫైబొనాక్సీ సంఖ్యలను ఉత్పత్తి చేయడానికి, మొత్తం n సంఖ్యలతో ముగించడానికి, స్టేట్‌మెంట్‌తో ఫర్-లూప్ ఉపయోగించాలి:

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

ఇది ప్రస్తుత ఫైబొనాక్సీ సంఖ్యను కలిగి ఉండటానికి తక్షణ చివరి రెండు ఫైబొనాక్సీ సంఖ్యలను జోడిస్తుంది.

సున్నా-ఆధారిత సూచిక ఇచ్చినప్పుడు, సంబంధిత ఫైబొనాక్సీ సంఖ్యను కలిగి ఉండటానికి, సూత్రాన్ని ఉపయోగించండి: