Hailstone sequence: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add Refal) |
(Add bruijn) |
||
Line 2,210: | Line 2,210: | ||
Longest so far: 77031 @ 351 elements |
Longest so far: 77031 @ 351 elements |
||
Longest was starting from 77031 and was of length 351</pre> |
Longest was starting from 77031 and was of length 351</pre> |
||
=={{header|Bruijn}}== |
|||
<syntaxhighlight lang="bruijn"> |
|||
:import std/Combinator . |
|||
:import std/List . |
|||
:import std/Math M |
|||
:import std/Number/Binary . |
|||
# hailstone sequence using binary shifts |
|||
hailstone y [[(0 =? (+1b)) {}0 go]] |
|||
go 0 : (=²?0 (1 /²0) (1 (↑¹0 + 0))) |
|||
# --- tests --- |
|||
seq-27 hailstone (+27b) |
|||
:test (∀seq-27) ((+112)) |
|||
:test (take (+4) seq-27) ((+27b) : ((+82b) : ((+41b) : {}(+124b)))) |
|||
:test (take (+4) <~>seq-27) ((+1b) : ((+2b) : ((+4b) : {}(+8b)))) |
|||
below-100000 [0 : ∀(hailstone 0)] <$> seq |
|||
seq take (+99999) (iterate ++‣ (+1)) |
|||
main [head (max-by (M.compare ⋔ tail) below-100000)] |
|||
</syntaxhighlight> |
|||
=={{header|Burlesque}}== |
=={{header|Burlesque}}== |