我想解決codewars網站上的算法。作爲一名初學者,我很難實現各種編程技術,缺乏基本的編程概念,如範圍,提升等。無論如何,我決心解決問題。如何正確實現遞歸算法?
的說明說:
寫功能,持久性,這發生在一個正參數NUM並返回其乘持久性,這是你必須乘位數NUM的次數,直到你達到單個數字。
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
現在我只是想實現這一目標的結果3*9 = 27, 2*7 = 14, 1*4=4
但是我被困。我知道我錯過了一些事情,請給我一些寶貴的建議!
我的代碼如下所示:
function persistence(num) {
var total = 1;
var step = 0;
var number = multiple(num);
while (step < 3) {
for (var i = 0; i < number.length; i++) {
total *= splitNumbers[i];
}
multiple(number);
step += 1;
}
}
function multiple(num) {
var splitNumbers = num.toString().split('');
var a = splitNumbers[0];
var b = splitNumbers[1];
return a * b;
}
persistence(39);
*號*是一個數字。數字沒有長度屬性,所以'我
RobG
好的,謝謝你,我沒注意到)) – NZMAI