Hailstone sequence: Difference between revisions

Line 2,998:
HailstoneR[n_Integer] := Prepend[HailstoneR[3 n + 1], n] /; OddQ[n] && n > 0
HailstoneR[n_Integer] := Prepend[HailstoneR[n/2], n] /; EvenQ[n] && n > 0 </lang>
 
=== Procedural implementation ===
<lang Mathematica>hailstone[n_Integer] := Block[{sequence = {}, c = n},
While[c > 1, c = If[EvenQ[c], c/2, 3 c + 1];
AppendTo[sequence, c]];
sequence] </lang>
 
=== Nested function-call formulation ===
I use this version to do the validation: