हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो पहले तर्क के रूप में संख्याओं की एक सरणी और दूसरे तर्क के रूप में एक संख्या लेता है।
फ़ंक्शन को सरणी से ऐसे तत्वों को चुनना चाहिए जो जोड़े जाने पर सरणी के दूसरे तर्क द्वारा निर्दिष्ट योग देता है। फ़ंक्शन को संख्याओं के ऐसे सभी उप-सरणी की एक सरणी वापस करनी चाहिए जो जोड़े जाने पर आवश्यक योग देता है।
ध्यान दें कि आदेश महत्वपूर्ण नहीं है और यदि आवश्यक हो तो हमें राशि उत्पन्न करने के लिए एक से अधिक बार एक संख्या का उपयोग करने की स्वतंत्रता है।
उदाहरण के लिए -
यदि इनपुट सरणी और योग हैं -
const arr =[14, 6, 10];const sum =40;
तब आउटपुट होना चाहिए -
कॉन्स आउटपुट =[ [14, 14, 6, 6], [14, 6, 10, 10], [6, 6, 6, 6, 6, 10], [10, 10, 10, 10] ];
उदाहरण
const arr =[14, 6, 10];const sum =40;const findSum =(arr, sum) => { const res =[]; const search =(सूचकांक, भाग =[]) => { const s =part.reduce((a, b) => a + b, 0); अगर (एस ===योग) {res.push (भाग)}; अगर (एस> =योग || सूचकांक> =गिरफ्तारी लंबाई) {वापसी; }; खोज (सूचकांक, part.concat (गिरफ्तारी [सूचकांक])); खोज (सूचकांक + 1, भाग); }; खोज (0); वापसी res;}console.log(findSum(arr, sum));
आउटपुट
यह निम्नलिखित आउटपुट उत्पन्न करेगा -
[ [ 14, 14, 6, 6], [14, 6, 10, 10], [6, 6, 6, 6, 6, 10], [10, 10, 10, 10]]] पूर्व>