Let's construct a sequence
as follows:
is a given natural number, and
is the product of the digits of
. The persistence of
is defined as the smallest index n such that
.
Complete the function persistance(u0) which, for a given
, returns its persistence.
Solution Stats
Problem Comments
3 Comments
Solution Comments
Show comments
Loading...
Problem Recent Solvers23
Suggested Problems
-
Given an unsigned integer x, find the largest y by rearranging the bits in x
2069 Solvers
-
Solve the set of simultaneous linear equations
512 Solvers
-
Check if number exists in vector
14487 Solvers
-
Square Digits Number Chain Terminal Value (Inspired by Project Euler Problem 92)
266 Solvers
-
302 Solvers
More from this Author53
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
Test cases 4,8,9 and 10 have some incorrect values.
I don't understand where the error is.
For example, for test 4, we have the sequence $u_0 = 97$, $u_1 = 9 \times 7 = 63$, $u_2 = 6 \times 3 = 18$, $u_3 = 1 \times 8 = 8$, so $n = 3$. So, the sequence for test case 4 is 97→63→18→8 and n=3 since it took 3 steps to reach a single-digit number from 97.
Similarly, for test 8 (with a randomly chosen number from the given list): $u_0$ in L and $u_1<10$ (the elements of L are chosen so that the product of the digits always gives a number < 10).
Sorry, that was my error! I had written my code to do addition rather than multiplication, and in many, but not all, cases that gave the same result for the persistence.