Write a program for Hailstone Sequence in Python

Upasana | May 04, 2019 | 1 min read | 196 views | Python Coding Problems


Hailstone Sequence

A hailstone sequence is a calculation of numbers that increase and decrease but eventually settles into a repeating pattern of the numbers 4, 2, 1. The sequence is generated by starting with any positive whole number greater than zero and completing the following steps:

  • If the number is even, divide it by 2 to calculate a new number

  • If the number is odd, multiple it by 3 and add 1 to calculate a new number

  • Repeat the above process for calculated numbers until the sequence 4, 2, 1 is generated.

def generate_hale_seq(num):
    lnum = [num]
    while num != 1:
        if (num%2) == 0:
            num = num//2
            lnum.append(num)
        else:
            num = (num * 3) + 1
            lnum.append(num)
    return lnum

print(generate_hale_seq(10))
Output
[10, 5, 16, 8, 4, 2, 1]

Top articles in this category:
  1. Python coding challenges for interviews
  2. Sequence of Differences in Python
  3. Write a program to check if the given word is Isogram & Pair isogram in python
  4. Write a python program to find Largest Substring that occurs more than once
  5. Flask Interview Questions
  6. Write a program to find if a number is Lychrel Number in Python
  7. Send rich text multimedia email in Python

Recommended books for interview preparation:

Find more on this topic:
Buy interview books

Java & Microservices interview refresher for experienced developers.