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 Solvers20
Suggested Problems
-
Number of 1s in the Binary Representation of a Number
480 Solvers
-
Smallest distance between a point and a rectangle
279 Solvers
-
431 Solvers
-
340 Solvers
-
Convert a vector of Integers into a matrix of binaries
80 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.