Metallic ratios: Difference between revisions
Content added Content deleted
m (→{{header|Phix}}: added syntax colouring the hard way) |
|||
Line 959: | Line 959: | ||
Golden ration, where b = 1: |
Golden ration, where b = 1: |
||
Value after 615 iterations: 1.6180339887498948482045868343656381177203091798057628621354486227052604628189024497072072041893911374847540880753868917521266338622235369317931800607667263544333890865959395829056383226613199282902678806752087668925017116962070322210432162695486262963136144</pre> |
Value after 615 iterations: 1.6180339887498948482045868343656381177203091798057628621354486227052604628189024497072072041893911374847540880753868917521266338622235369317931800607667263544333890865959395829056383226613199282902678806752087668925017116962070322210432162695486262963136144</pre> |
||
=={{header|Mathematica}}/{{header|Wolfram Language}}== |
|||
<lang Mathematica>ClearAll[FindMetallicRatio] |
|||
FindMetallicRatio[b_, digits_] := |
|||
Module[{n, m, data, acc, old, done = False}, |
|||
{n, m} = {1, 1}; |
|||
old = -100; |
|||
data = {}; |
|||
While[done == False, |
|||
{n, m} = {m, b m + n}; |
|||
AppendTo[data, {m, m/n}]; |
|||
If[Length[data] > 15, |
|||
If[-N[Log10[Abs[data[[-1, 2]] - data[[-2, 2]]]]] > digits, |
|||
done = True |
|||
] |
|||
] |
|||
]; |
|||
acc = -N[Log10[Abs[data[[-1, 2]] - data[[-2, 2]]]]]; |
|||
<|"sequence" -> Join[{1, 1}, data[[All, 1]]], |
|||
"ratio" -> data[[All, 2]], "acc" -> acc, |
|||
"steps" -> Length[data]|> |
|||
] |
|||
Do[ |
|||
out = FindMetallicRatio[b, 32]; |
|||
Print["b=", b]; |
|||
Print["b=", b, " first 15=", Take[out["sequence"], 15]]; |
|||
Print["b=", b, " ratio=", N[Last[out["ratio"]], {\[Infinity], 33}]]; |
|||
Print["b=", b, " Number of steps=", out["steps"]]; |
|||
, |
|||
{b, 0, 9} |
|||
] |
|||
out = FindMetallicRatio[1, 256]; |
|||
out["steps"] |
|||
N[out["ratio"][[-1]], 256]</lang> |
|||
{{out}} |
|||
<pre>b=0 |
|||
b=0 first 15={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1} |
|||
b=0 ratio=1.00000000000000000000000000000000 |
|||
b=0 Number of steps=16 |
|||
b=1 |
|||
b=1 first 15={1,1,2,3,5,8,13,21,34,55,89,144,233,377,610} |
|||
b=1 ratio=1.61803398874989484820458683436564 |
|||
b=1 Number of steps=78 |
|||
b=2 |
|||
b=2 first 15={1,1,3,7,17,41,99,239,577,1393,3363,8119,19601,47321,114243} |
|||
b=2 ratio=2.41421356237309504880168872420970 |
|||
b=2 Number of steps=44 |
|||
b=3 |
|||
b=3 first 15={1,1,4,13,43,142,469,1549,5116,16897,55807,184318,608761,2010601,6640564} |
|||
b=3 ratio=3.30277563773199464655961063373525 |
|||
b=3 Number of steps=33 |
|||
b=4 |
|||
b=4 first 15={1,1,5,21,89,377,1597,6765,28657,121393,514229,2178309,9227465,39088169,165580141} |
|||
b=4 ratio=4.236067977499789696409173668731276 |
|||
b=4 Number of steps=28 |
|||
b=5 |
|||
b=5 first 15={1,1,6,31,161,836,4341,22541,117046,607771,3155901,16387276,85092281,441848681,2294335686} |
|||
b=5 ratio=5.19258240356725201562535524577016 |
|||
b=5 Number of steps=25 |
|||
b=6 |
|||
b=6 first 15={1,1,7,43,265,1633,10063,62011,382129,2354785,14510839,89419819,551029753,3395598337,20924619775} |
|||
b=6 ratio=6.162277660168379331998893544432719 |
|||
b=6 Number of steps=23 |
|||
b=7 |
|||
b=7 first 15={1,1,8,57,407,2906,20749,148149,1057792,7552693,53926643,385039194,2749201001,19629446201,140155324408} |
|||
b=7 ratio=7.14005494464025913554865124576352 |
|||
b=7 Number of steps=21 |
|||
b=8 |
|||
b=8 first 15={1,1,9,73,593,4817,39129,317849,2581921,20973217,170367657,1383914473,11241683441,91317382001,741780739449} |
|||
b=8 ratio=8.123105625617660549821409855974077 |
|||
b=8 Number of steps=20 |
|||
b=9 |
|||
b=9 first 15={1,1,10,91,829,7552,68797,626725,5709322,52010623,473804929,4316254984,39320099785,358197153049,3263094477226} |
|||
b=9 ratio=9.10977222864644365500113714088140 |
|||
b=9 Number of steps=19 |
|||
614 |
|||
1.618033988749894848204586834365638117720309179805762862135448622705260462818902449707207204189391137484754088075386891752126633862223536931793180060766726354433389086595939582905638322661319928290267880675208766892501711696207032221043216269548626296313614</pre> |
|||
=={{header|Nim}}== |
=={{header|Nim}}== |