Fibonacci word: Difference between revisions
Content added Content deleted
(added Factor) |
|||
Line 1,184: | Line 1,184: | ||
36 14930352 0.9594187 |
36 14930352 0.9594187 |
||
37 24157817 0.9594187</pre> |
37 24157817 0.9594187</pre> |
||
=={{header|Factor}}== |
|||
<lang factor>USING: assocs combinators formatting kernel math math.functions |
|||
math.ranges math.statistics pair-rocket sequences ; |
|||
IN: rosetta-code.fibonacci-word |
|||
: fib-word ( n -- seq ) |
|||
{ |
|||
1 => [ { 1 } ] |
|||
2 => [ { 0 } ] |
|||
[ [ 1 - fib-word ] [ 2 - fib-word ] bi append ] |
|||
} case ; |
|||
: entropy ( seq -- entropy ) |
|||
[ length ] [ histogram >alist [ second ] map ] bi |
|||
[ swap / ] with map |
|||
[ dup log 2 log / * ] map-sum |
|||
dup 0. = [ neg ] unless ; |
|||
"N" "Length" "Entropy" "%2s %8s %10s\n" printf |
|||
37 [1,b] [ |
|||
dup fib-word [ length ] [ entropy ] bi |
|||
"%2d %8d %.8f\n" printf |
|||
] each</lang> |
|||
{{out}} |
|||
<pre> |
|||
N Length Entropy |
|||
1 1 0.00000000 |
|||
2 1 0.00000000 |
|||
3 2 1.00000000 |
|||
4 3 0.91829583 |
|||
5 5 0.97095059 |
|||
6 8 0.95443400 |
|||
7 13 0.96123660 |
|||
8 21 0.95871188 |
|||
9 34 0.95968689 |
|||
10 55 0.95931603 |
|||
11 89 0.95945792 |
|||
12 144 0.95940375 |
|||
13 233 0.95942445 |
|||
14 377 0.95941654 |
|||
15 610 0.95941956 |
|||
16 987 0.95941841 |
|||
17 1597 0.95941885 |
|||
18 2584 0.95941868 |
|||
19 4181 0.95941875 |
|||
20 6765 0.95941872 |
|||
21 10946 0.95941873 |
|||
22 17711 0.95941873 |
|||
23 28657 0.95941873 |
|||
24 46368 0.95941873 |
|||
25 75025 0.95941873 |
|||
26 121393 0.95941873 |
|||
27 196418 0.95941873 |
|||
28 317811 0.95941873 |
|||
29 514229 0.95941873 |
|||
30 832040 0.95941873 |
|||
31 1346269 0.95941873 |
|||
32 2178309 0.95941873 |
|||
33 3524578 0.95941873 |
|||
34 5702887 0.95941873 |
|||
35 9227465 0.95941873 |
|||
36 14930352 0.95941873 |
|||
37 24157817 0.95941873 |
|||
</pre> |
|||
=={{header|FreeBASIC}}== |
=={{header|FreeBASIC}}== |
||
<lang FreeBASIC>' version 25-06-2015 |
<lang FreeBASIC>' version 25-06-2015 |