Write a function, persistence
, that takes in a positive parameter num
and returns its multiplicative persistence, which is the number of times you must multiply the digits in num
until you reach a single digit.
Examples
persistence(39) === 3 // because 3*9 = 27, 2*7 = 14, 1*4=4 // and 4 has only one digit persistence(999) === 4 // because 9*9*9 = 729, 7*2*9 = 126, // 1*2*6 = 12, and finally 1*2 = 2 persistence(4) === 0 // because 4 is already a one-digit number
Tests
persistence(5)
persistence(52)
persistence(377)
Good luck!
This challenge comes from joh_pot on CodeWars. Thank you to CodeWars, who has licensed redistribution of this challenge under the 2-Clause BSD License!
Want to propose a challenge idea for a future post? Email yo+challenge@dev.to with your suggestions!
Top comments (13)
Haskell solution:
Edit:
Inspired by other solutions I realized that I don't need to track recursion depth
Nice use of pointfree style!
TypeScript
Nice 👌
My Swift solution :
Python solution
JS
Python solution with test cases.
Elixir
C++ solution
Recursive JavaScript solution:
JS solution