V22.0002 - ASSIGNMENT 6

Write a program that produces palindromic numbers: numbers that are the same forward as backward.

Use the following algorithm:

  1. Start by taking a number.
  2. Find the number formed by reversing the order of the digits in the number (we shall call this the reverse number).
  3. If the original number is not a palindrome:
    1. Add the reverse number to the number.
    2. Go back to step 2.

Example: the number 101 is a palindrome. The number 561, however, isn't. We take the number's digits in reverse order and add it to the previous: 165+561 = 726. This is still not a palindrome, so we repeat the step: 627+726=1,353. This is still not a solution and we repeat the procedure once more: 3,531+1,353=4,884. This is a palindrome, so we stop. It has taken us three steps to produce the palindrome.

The program should display the final palindrome and how many steps it took to produce it.

Specs : (i.e., what your procedure should and should not do)

You will have to implement the following helper functions:

Example runs:

   Please enter number to start with: 123
   Palindrome: 444 
   Number of reversals: 1

   Please enter number to start with: 169
   Palindrome: 1441
   Number of reversals: 2

Notes :