Java

  1. Home
  2. Computing & Technology
  3. Java
photo of Paul Leahy

Paul's Java Blog

By Paul Leahy, About.com Guide to Java

Monday's Programming Question

Monday October 13, 2008

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.

This week the Java program you'll need to create is one 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

To meet the full requirements of the program display the sequence so that every line you display has ten numbers. Finally display a sentence that says how many numbers there are in the sequence. For example, if the number was 17 the output would be something like:

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?

And, keep the program handy after you've finished as it will be used in next Monday's programming question.

Comments

No comments yet. Leave a Comment

Leave a Comment

Line and paragraph breaks are automatic. Some HTML allowed: <a href="" title="">, <b>, <i>, <strike>

Discuss

Community Forum

Explore Java

About.com Special Features

Build Your Own Website

Step-by-step advice on how to do everything from choosing a Web host to promoting your content. More >

Connect Your Home Computers

Easy ways to connect two computers for networking purposes. More >

Java

  1. Home
  2. Computing & Technology
  3. Java

©2009 About.com, a part of The New York Times Company.

All rights reserved.