# This program implements the hailstone sequence # using a generator. # Generates all integers in a hailstone sequence # starting with n until n reaches 1. def hailstone_sequence(n): yield n while n != 1: if n % 2 == 0: n = n // 2 else: n = 3 * n + 1 yield n def main(): n = int(input("Value of N? ")) print("Hailstone sequence starting with", n, ":") for k in hailstone_sequence(n): print(k, end=" ") print() main()