Sto passando per il capitolo 3 in eloquente javascript e la ricorsione è stata appena introdotta e sto cercando di avvolgere la mia mente su questo concetto.Puoi spiegare questa soluzione ricorsiva dal Cap 3 Eloquent js?
Inoltre, qualcuno può spiegare la cronologia del secondo parametro nella funzione Trova?
La cronologia è già stata definita?
Considerate questo puzzle: partendo dal numero 1 e ripetutamente aggiungendo 5 o moltiplicando per 3, è possibile produrre una quantità infinita di nuovi numeri. Come scriveresti una funzione che, dato un numero, cerca di trovare una sequenza di tali aggiunte e moltiplicazioni che producono quel numero? Ad esempio, il numero 13 potrebbe essere raggiunto prima moltiplicando per 3 e quindi aggiungendo 5 due volte, mentre il numero 15 non può essere raggiunto affatto.
function findSolution(target) {
function find(start, history) {
if (start == target)
return history;
else if (start > target)
return null;
else
return find(start + 5, "(" + history + " + 5)") ||
find(start * 3, "(" + history + " * 3)");
}
return find(1, "1");
}
console.log(findSolution(24));
Tenete a mente, 'history' è j con una stringa, niente di più. – Nit
in questi casi, trovo che un console.log() o due possono davvero chiarire le cose. – dandavis