Metallic ratios: Difference between revisions

Content added Content deleted
(J)
Line 657: Line 657:
Golden ratio, where b = 1:
Golden ratio, where b = 1:
Value after 615 iterations: 1.6180339887498948482045868343656381177203091798057628621354486227052604628189024497072072041893911374847540880753868917521266338622235369317931800607667263544333890865959395829056383226613199282902678806752087668925017116962070322210432162695486262963136144</pre>
Value after 615 iterations: 1.6180339887498948482045868343656381177203091798057628621354486227052604628189024497072072041893911374847540880753868917521266338622235369317931800607667263544333890865959395829056383226613199282902678806752087668925017116962070322210432162695486262963136144</pre>

=={{header|J}}==

It's perhaps worth noting that we can compute the fibonacci ratio to 256 digits in ten iterations, if we use an appropriate form of iteration:

<lang J>
258j256":%~/+/+/ .*~^:10 x:*i.2 2
1.6180339887498948482045868343656381177203091798057628621354486227052604628189024497072072041893911374847540880753868917521266338622235369317931800607667263544333890865959395829056383226613199282902678806752087668925017116962070322210432162695486262963136144
</lang>

However, the task implies we should use a different form of iteration, so we should probably stick to that here.

<lang J>
task=:{{
32 task y
:
echo 'b=',":y
echo 'seq=',":(,(1,y) X _2{.])^:15]1 1x
k=. 0
prev=.val=. ''
rat=. 1 1x
whilst.-.prev-:val do.
k=. k+1
prev=. val
rat=. }.rat,rat X 1,y
val=. (j./2 0+x)":%~/rat
end.
echo (":k),' iterations: ',val
}}

task 0
b=0
seq=1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
2 iterations: 1.00000000000000000000000000000000
task 1
b=1
seq=1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
78 iterations: 1.61803398874989484820458683436564
task 2
b=2
seq=1 1 3 7 17 41 99 239 577 1393 3363 8119 19601 47321 114243 275807 665857
44 iterations: 2.41421356237309504880168872420970
task 3
b=3
seq=1 1 4 13 43 142 469 1549 5116 16897 55807 184318 608761 2010601 6640564 21932293 72437443
34 iterations: 3.30277563773199464655961063373525
task 4
b=4
seq=1 1 5 21 89 377 1597 6765 28657 121393 514229 2178309 9227465 39088169 165580141 701408733 2971215073
28 iterations: 4.23606797749978969640917366873128
task 5
b=5
seq=1 1 6 31 161 836 4341 22541 117046 607771 3155901 16387276 85092281 441848681 2294335686 11913527111 61861971241
25 iterations: 5.19258240356725201562535524577016
task 6
b=6
seq=1 1 7 43 265 1633 10063 62011 382129 2354785 14510839 89419819 551029753 3395598337 20924619775 128943316987 794584521697
23 iterations: 6.16227766016837933199889354443272
task 7
b=7
seq=1 1 8 57 407 2906 20749 148149 1057792 7552693 53926643 385039194 2749201001 19629446201 140155324408 1000716717057 7145172343807
22 iterations: 7.14005494464025913554865124576352
task 8
b=8
seq=1 1 9 73 593 4817 39129 317849 2581921 20973217 170367657 1383914473 11241683441 91317382001 741780739449 6025563297593 48946287120193
20 iterations: 8.12310562561766054982140985597408
task 9
b=9
seq=1 1 10 91 829 7552 68797 626725 5709322 52010623 473804929 4316254984 39320099785 358197153049 3263094477226 29726047448083 270797521509973
20 iterations: 9.10977222864644365500113714088140

256 task 1
b=1
seq=1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
615 iterations: 1.6180339887498948482045868343656381177203091798057628621354486227052604628189024497072072041893911374847540880753868917521266338622235369317931800607667263544333890865959395829056383226613199282902678806752087668925017116962070322210432162695486262963136144
</lang>


=={{header|Java}}==
=={{header|Java}}==