Skip to content

Latest commit

 

History

History
58 lines (47 loc) · 1.2 KB

README.md

File metadata and controls

58 lines (47 loc) · 1.2 KB

Given a number, we can form a number chain by

  1. arranging its digits in descending order
  2. arranging its digits in ascending order
  3. subtracting the number obtained in (2) from the number obtained (1) to form a new number
  4. and repeat these steps unless the new number has already appeared in the chain

Note that 0 is a permitted digit. The number of distinct numbers in the chain is the length of the chain. You are to write a program that reads numbers and outputs the number chain and the length of that chain for each number read.

Input and Output

The input consists of a positive number, less than 10^9. The output consists of the number chain generated by the input number, followed by its lengths exactly in the format indicated below.

Example-1

Input 123456789

Output Original number was 123456789 987654321 - 123456789 = 864197532 987654321 - 123456789 = 864197532 Chain length 2

Example-2

Input 1234

Output Original number was 1234 4321 - 1234 = 3087 8730 - 378 = 8352 8532 - 2358 = 6174 7641 - 1467 = 6174 Chain length 4

Example-3

Input 444

Output Original number was 444 444 - 444 = 0 0 - 0 = 0 Chain length 2

[Source: http://uva.onlinejudge.org/]