मैं वाकई जावास्क्रिप्ट में अध्याय 3 के माध्यम से जा रहा हूं और रिकर्सन अभी पेश किया गया था और मैं इस अवधारणा के आसपास अपने दिमाग को लपेटने की कोशिश कर रहा हूं।क्या आप चैप 3 एलोक्वेंट जेएस से इस रिकर्सिव समाधान को समझा सकते हैं?
क्या कोई भी फ़ंक्शन में दूसरे पैरामीटर इतिहास को समझा सकता है?
क्या इतिहास पहले ही परिभाषित किया गया है?
इस पहेली पर विचार करें: संख्या 1 से शुरू करके और बार-बार या 5 जोड़कर गुणा करके, नई संख्याओं की एक अनंत राशि का उत्पादन किया जा सकता है। आप एक फ़ंक्शन कैसे लिखेंगे, जो किसी संख्या को दिया गया है, इस तरह के जोड़ों और गुणाओं के अनुक्रम को खोजने का प्रयास करता है जो उस संख्या का उत्पादन करते हैं? उदाहरण के लिए, नंबर 13 को पहले 3 से गुणा करके और फिर 5 बार जोड़कर पहुंचा जा सकता है, जबकि संख्या 15 को बिल्कुल नहीं पहुंचा जा सकता है। जब समारोह find
कहा जाता है
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));
ध्यान रखें, 'history' j है एक स्ट्रिंग, कुछ और नहीं। इन मामलों में – Nit
, मुझे एक console.log() या दो वास्तव में चीजों को साफ़ कर सकता है। – dandavis