Script

Fibonacci numbers

Recently there was a scripting challenge on the use-rev list to calculate the 211st number in the Fibonacci series.
This uses Brian Yennie's script to get accurate results since basic addition overflows at a certain point.

Just for fun, I added a column to show how the ratio of adjacent numbers in this sequence approaches the Golden Ratio.

# Fibonacci Ratio
1 1
2 1 1
3 2 2
4 3 1.5
5 5 1.666667
6 8 1.6
7 13 1.625
8 21 1.615385
9 34 1.619048
10 55 1.617647
11 89 1.618182
12 144 1.617978
13 233 1.618056
14 377 1.618026
15 610 1.618037
16 987 1.618033
17 1597 1.618034
18 2584 1.618034
19 4181 1.618034
20 6765 1.618034
21 10946 1.618034
22 17711 1.618034
23 28657 1.618034
24 46368 1.618034
25 75025 1.618034
26 121393 1.618034
27 196418 1.618034
28 317811 1.618034
29 514229 1.618034
30 832040 1.618034
31 1346269 1.618034
32 2178309 1.618034
33 3524578 1.618034
34 5702887 1.618034
35 9227465 1.618034
36 14930352 1.618034
37 24157817 1.618034
38 39088169 1.618034
39 63245986 1.618034
40 102334155 1.618034
41 165580141 1.618034
42 267914296 1.618034
43 433494437 1.618034
44 701408733 1.618034
45 1134903170 1.618034
46 1836311903 1.618034
47 2971215073 1.618034
48 4807526976 1.618034
49 7778742049 1.618034
50 12586269025 1.618034
51 20365011074 1.618034
52 32951280099 1.618034
53 53316291173 1.618034
54 86267571272 1.618034
55 139583862445 1.618034
56 225851433717 1.618034
57 365435296162 1.618034
58 591286729879 1.618034
59 956722026041 1.618034
60 1548008755920 1.618034
61 2504730781961 1.618034
62 4052739537881 1.618034
63 6557470319842 1.618034
64 10610209857723 1.618034
65 17167680177565 1.618034
66 27777890035288 1.618034
67 44945570212853 1.618034
68 72723460248141 1.618034
69 117669030460994 1.618034
70 190392490709135 1.618034
71 308061521170129 1.618034
72 498454011879264 1.618034
73 806515533049393 1.618034
74 1304969544928657 1.618034
75 2111485077978050 1.618034
76 3416454622906707 1.618034
77 5527939700884757 1.618034
78 8944394323791464 1.618034
79 14472334024676221 1.618034
80 23416728348467685 1.618034
81 37889062373143906 1.618034
82 61305790721611591 1.618034
83 99194853094755497 1.618034
84 160500643816367088 1.618034
85 259695496911122585 1.618034
86 420196140727489673 1.618034
87 679891637638612258 1.618034
88 1100087778366101931 1.618034
89 1779979416004714189 1.618034
90 2880067194370816120 1.618034
91 4660046610375530309 1.618034
92 7540113804746346429 1.618034
93 12200160415121876738 1.618034
94 19740274219868223167 1.618034
95 31940434634990099905 1.618034
96 51680708854858323072 1.618034
97 83621143489848422977 1.618034
98 135301852344706746049 1.618034
99 218922995834555169026 1.618034
100 354224848179261915075 1.618034
101 573147844013817084101 1.618034
102 927372692193078999176 1.618034
103 1500520536206896083277 1.618034
104 2427893228399975082453 1.618034
105 3928413764606871165730 1.618034
106 6356306993006846248183 1.618034
107 10284720757613717413913 1.618034
108 16641027750620563662096 1.618034
109 26925748508234281076009 1.618034
110 43566776258854844738105 1.618034
111 70492524767089125814114 1.618034
112 114059301025943970552219 1.618034
113 184551825793033096366333 1.618034
114 298611126818977066918552 1.618034
115 483162952612010163284885 1.618034
116 781774079430987230203437 1.618034
117 1264937032042997393488322 1.618034
118 2046711111473984623691759 1.618034
119 3311648143516982017180081 1.618034
120 5358359254990966640871840 1.618034
121 8670007398507948658051921 1.618034
122 14028366653498915298923761 1.618034
123 22698374052006863956975682 1.618034
124 36726740705505779255899443 1.618034
125 59425114757512643212875125 1.618034
126 96151855463018422468774568 1.618034
127 155576970220531065681649693 1.618034
128 251728825683549488150424261 1.618034
129 407305795904080553832073954 1.618034
130 659034621587630041982498215 1.618034
131 1066340417491710595814572169 1.618034
132 1725375039079340637797070384 1.618034
133 2791715456571051233611642553 1.618034
134 4517090495650391871408712937 1.618034
135 7308805952221443105020355490 1.618034
136 11825896447871834976429068427 1.618034
137 19134702400093278081449423917 1.618034
138 30960598847965113057878492344 1.618034
139 50095301248058391139327916261 1.618034
140 81055900096023504197206408605 1.618034
141 131151201344081895336534324866 1.618034
142 212207101440105399533740733471 1.618034
143 343358302784187294870275058337 1.618034
144 555565404224292694404015791808 1.618034
145 898923707008479989274290850145 1.618034
146 1454489111232772683678306641953 1.618034
147 2353412818241252672952597492098 1.618034
148 3807901929474025356630904134051 1.618034
149 6161314747715278029583501626149 1.618034
150 9969216677189303386214405760200 1.618034
151 16130531424904581415797907386349 1.618034
152 26099748102093884802012313146549 1.618034
153 42230279526998466217810220532898 1.618034
154 68330027629092351019822533679447 1.618034
155 110560307156090817237632754212345 1.618034
156 178890334785183168257455287891792 1.618034
157 289450641941273985495088042104137 1.618034
158 468340976726457153752543329995929 1.618034
159 757791618667731139247631372100066 1.618034
160 1226132595394188293000174702095995 1.618034
161 1983924214061919432247806074196061 1.618034
162 3210056809456107725247980776292056 1.618034
163 5193981023518027157495786850488117 1.618034
164 8404037832974134882743767626780173 1.618034
165 13598018856492162040239554477268290 1.618034
166 22002056689466296922983322104048463 1.618034
167 35600075545958458963222876581316753 1.618034
168 57602132235424755886206198685365216 1.618034
169 93202207781383214849429075266681969 1.618034
170 150804340016807970735635273952047185 1.618034
171 244006547798191185585064349218729154 1.618034
172 394810887814999156320699623170776339 1.618034
173 638817435613190341905763972389505493 1.618034
174 1033628323428189498226463595560281832 1.618034
175 1672445759041379840132227567949787325 1.618034
176 2706074082469569338358691163510069157 1.618034
177 4378519841510949178490918731459856482 1.618034
178 7084593923980518516849609894969925639 1.618034
179 11463113765491467695340528626429782121 1.618034
180 18547707689471986212190138521399707760 1.618034
181 30010821454963453907530667147829489881 1.618034
182 48558529144435440119720805669229197641 1.618034
183 78569350599398894027251472817058687522 1.618034
184 127127879743834334146972278486287885163 1.618034
185 205697230343233228174223751303346572685 1.618034
186 332825110087067562321196029789634457848 1.618034
187 538522340430300790495419781092981030533 1.618034
188 871347450517368352816615810882615488381 1.618034
189 1409869790947669143312035591975596518914 1.618034
190 2281217241465037496128651402858212007295 1.618034
191 3691087032412706639440686994833808526209 1.618034
192 5972304273877744135569338397692020533504 1.618034
193 9663391306290450775010025392525829059713 1.618034
194 15635695580168194910579363790217849593217 1.618034
195 25299086886458645685589389182743678652930 1.618034
196 40934782466626840596168752972961528246147 1.618034
197 66233869353085486281758142155705206899077 1.618034
198 107168651819712326877926895128666735145224 1.618034
199 173402521172797813159685037284371942044301 1.618034
200 280571172992510140037611932413038677189525 1.618034
201 453973694165307953197296969697410619233826 1.618034
202 734544867157818093234908902110449296423351 1.618034
203 1188518561323126046432205871807859915657177 1.618034
204 1923063428480944139667114773918309212080528 1.618034
205 3111581989804070186099320645726169127737705 1.618034
206 5034645418285014325766435419644478339818233 1.618034
207 8146227408089084511865756065370647467555938 1.618034
208 13180872826374098837632191485015125807374171 1.618034
209 21327100234463183349497947550385773274930109 1.618034
210 34507973060837282187130139035400899082304280 1.618034
211 55835073295300465536628086585786672357234389 1.618034

Include files:

includes/tables.irev