我的主要問題是,我似乎無法理解如何解決紙上的問題,更別說理解代碼,或寫我自己的。下面是我正在閱讀的一本書Eloquent JavaScript的摘錄。Javascript代碼需要的解釋(遞歸示例)
考慮一下這個難題:從數字1開始,反覆添加5或乘以3,可以產生無限量的新數字。你如何編寫一個函數,給定一個數字,試圖找出產生該數字的一系列加法和乘法?
¶例如,可以通過首先將1乘以3,然後再加5兩次來達到數字13。數字15根本無法達到。
¶下面是解:
function findSequence(goal) {
function find(start, history) {
if (start == goal)
return history;
else if (start > goal)
return null;
else
return find(start + 5, "(" + history + " + 5)") ||
find(start * 3, "(" + history + " * 3)");
}
return find(1, "1");
}
print(findSequence(24));
那麼,什麼是你的問題? – musefan 2013-03-22 14:02:37
@musefan我想他想解釋的代碼 – 2013-03-22 14:03:51
@Harikrishnan:是的......那不會發生 – musefan 2013-03-22 14:04:29