1. Technology

The Hailstone Sequence


Level: Beginner

Focus: Loops

Hailstone Sequence Question

There is a sequence of numbers in mathematics that is sometimes known as the hailstone sequence. The German mathematician, Lothar Collatz, proposed that for any number it's possible to make a sequence of numbers that will eventually end in one by following a simple rule; if the number is even halve it by two, if it's odd times it by three and add one (e.g., starting with the number 5 the sequence would be 5 16 8 4 2 1). The name hailstone comes from the way the pattern of numbers rise and fall, like a hailstone in a weather cloud before it drops to the ground.

  • create a Java program that will calculate the hailstone sequence for a certain number. Remember, in order to get the next number just follow the simple equation:
     if the number is even : the next number = number / 2
     if the number is odd : the next number = (number * 3) + 1 
  • display the sequence so that every line you display has ten numbers.
  • display a sentence that says how many numbers there are in the sequence.

For example, if the number is 17 the output would be:

 17 52 26 13 40 20 10 5 16 8
 4 2 1 
 There were 13 numbers in the sequence.

The question is can your program calculate and display the numbers in the hailstone sequence for the number 125, as well as how many numbers there are in that sequence?

To get the most out of this question try and figure out the answer before coming back to read the solution on the next page.

  1. About.com
  2. Technology
  3. Java
  4. Programming Exercises
  5. Beginner Level
  6. The Hailstone Sequence

©2014 About.com. All rights reserved.