Hailstone sequence: Difference between revisions
Content added Content deleted
(Added Easylang) |
Not a robot (talk | contribs) (Add SETL) |
||
Line 9,502: | Line 9,502: | ||
Maximum length 351 at number=77031 |
Maximum length 351 at number=77031 |
||
</pre> |
</pre> |
||
=={{header|SETL}}== |
|||
<syntaxhighlight lang="setl">program hailstone_sequence; |
|||
hail27 := hailstone(27); |
|||
print("The hailstone sequence for the number 27 has", #hail27, "elements,"); |
|||
print("starting with", hail27(..4), "and ending with", hail27(#hail27-3..)); |
|||
sizes := [#hailstone(n) : n in [1..99999]]; |
|||
maxsize := max/sizes; |
|||
maxelem := [n : n in [1..#sizes] | sizes(n) = maxsize](1); |
|||
print("The number < 100,000 with the longest hailstone sequence is",maxelem); |
|||
print("The length of its sequence is",sizes(maxelem)); |
|||
proc hailstone(n); |
|||
seq := []; |
|||
loop doing seq with:= n; while n/=1 do |
|||
if even n then |
|||
n div:= 2; |
|||
else |
|||
n := 3*n + 1; |
|||
end if; |
|||
end loop; |
|||
return seq; |
|||
end proc; |
|||
end program;</syntaxhighlight> |
|||
{{out}} |
|||
<pre>The hailstone sequence for the number 27 has 112 elements, |
|||
starting with [27 82 41 124] and ending with [8 4 2 1] |
|||
The number < 100,000 with the longest hailstone sequence is 77031 |
|||
The length of its sequence is 351</pre> |
|||
=={{header|Sidef}}== |
=={{header|Sidef}}== |