-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPersistentBugger.js
More file actions
35 lines (33 loc) · 904 Bytes
/
Copy pathPersistentBugger.js
File metadata and controls
35 lines (33 loc) · 904 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/**
* Description:
*
* 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.
*
* For example (Input --> Output):
*
* 39 --> 3 (because 3*9 = 27, 2*7 = 14, 1*4 = 4 and 4 has only one digit)
* 999 --> 4 (because 9*9*9 = 729, 7*2*9 = 126, 1*2*6 = 12, and finally 1*2 = 2)
* 4 --> 0 (because 4 is already a one-digit number)
*
* Kata URL: https://www.codewars.com/kata/55bf01e5a717a0d57e0000ec
*
* @param {*} num
* @returns
*/
function persistence(num) {
let result = 0;
let numbers = (num + "").split("");
while (numbers.length > 1) {
let subtotal = 1;
numbers.forEach((element) => {
subtotal *= parseInt(element);
});
numbers = (subtotal + "").split("");
result++;
}
return result;
}