PersistentNumber
SRM 343 · 2007-03-22 · by connect4
SRM 343 · 2007-03-22 · by connect4 · Simple Search, Iteration
Problem Statement
Problem Statement
Given a number x, we can define p(x) as the product of the digits of x. We can then form a sequence x, p(x), p(p(x))... The persistence of x is then defined as the index (0-based) of the first single digit number in the sequence. For example, using 99, we get the sequence 99, 9*9 = 81, 8*1 = 8. Thus, the persistence of 99 is 2. You will be given n, and you must return its persistence.
Constraints
- n will be between 0 and 2,000,000,000, inclusive.
Examples
0)
99 Returns: 2
The example from the problem statement.
1)
268 Returns: 4
The sequence here is 268, 96, 54, 20, 0.
2)
6 Returns: 0
6 is already a single-digit number.
3)
68889789 Returns: 3
4)
86898 Returns: 7
Submissions are judged against all 71 archived test cases, of which 5 are shown here. Case numbers match the judge’s.
Coding Area
Language: C++17 · define a public class PersistentNumber with a public method int getPersistence(int n) · 71 test cases · 2 s / 256 MB per case