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}}== |