How to resolve the algorithm Hailstone sequence step by step in the ERRE programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Hailstone sequence step by step in the ERRE programming language

Table of Contents

Problem Statement

The Hailstone sequence of numbers can be generated from a starting positive integer,   n   by:

The (unproven) Collatz conjecture is that the hailstone sequence for any starting number always terminates.

This sequence was named by Lothar Collatz in 1937   (or possibly in 1939),   and is also known as (the):

The hailstone sequence is also known as   hailstone numbers   (because the values are usually subject to multiple descents and ascents like hailstones in a cloud).

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Hailstone sequence step by step in the ERRE programming language

Source code in the erre programming language

PROGRAM ULAM

!$DOUBLE

PROCEDURE HAILSTONE(X,PRT%->COUNT)
   COUNT=1
   IF PRT% THEN PRINT(X,) END IF
   REPEAT
      IF X/2<>INT(X/2) THEN
          X=X*3+1
        ELSE
          X=X/2
      END IF
      IF PRT% THEN PRINT(X,) END IF
      COUNT=COUNT+1
   UNTIL X=1
   IF PRT% THEN PRINT END IF
END PROCEDURE

BEGIN
   HAILSTONE(27,TRUE->COUNT)
   PRINT("Sequence length for 27:";COUNT)
   MAX_COUNT=2
   NMAX=2
   FOR I=3 TO 100000 DO
      HAILSTONE(I,FALSE->COUNT)
      IF COUNT>MAX_COUNT THEN NMAX=I MAX_COUNT=COUNT END IF
   END FOR
   PRINT("Max. number is";NMAX;" with";MAX_COUNT;"elements")
END PROGRAM

  

You may also check:How to resolve the algorithm Round-robin tournament schedule step by step in the Wren programming language
You may also check:How to resolve the algorithm Text processing/1 step by step in the Wren programming language
You may also check:How to resolve the algorithm Loops/For step by step in the Batch File programming language
You may also check:How to resolve the algorithm Non-decimal radices/Convert step by step in the Mathematica/Wolfram Language programming language
You may also check:How to resolve the algorithm Largest int from concatenated ints step by step in the Rust programming language