minHailstoneValue

Category: Programming
Author: Stuart Reges
Book Chapter: 4.1
Problem: minHailstoneValue
  Write a method minHailstoneValue that takes
   integers n and m as parameters and that returns the minimum value in a
   hailstone sequence of length m that begins with n.  In a hailstone sequence,
   each value x is followed either by:

         (3x + 1) if x is odd
	 (x/2) if x is even

   For example, if we start with 7 and we construct a sequence of length
   10, we get:

        7, 22, 11, 34, 17, 52, 26, 13, 40, 20

   In this case, the minimum value in the sequence is 7 (the number we started
   with).  Therefore, the following call:

        minHailstoneValue(7, 10)

   should return 7.  If we instead construct a sequence of length 20, we get:

        7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1, 4, 2, 1

   In this case, the minimum value in the sequence is 1.  Therefore, the call:

        minHailstoneValue(7, 20)

   should return 1.  You may assume that both integers passed to your method
   are greater than 0.

   Write your solution to minHailstoneValue below.