समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो संख्याओं की एक सरणी लेता है, गिरफ्तारी, पहले तर्क के रूप में और एक संख्या, संख्या, दूसरे तर्क के रूप में।
हमें इसमें तत्वों को जोड़कर, अपनी सरणी इस तरह बनानी चाहिए कि [0, num] (दोनों सहित) के बीच विशिष्ट संख्याओं को जोड़कर कोई भी योग प्राप्त किया जा सके। हमारे फ़ंक्शन को अंत में सरणी में जोड़ने के लिए आवश्यक न्यूनतम संख्याओं को वापस करना चाहिए ताकि यह 0 और संख्या के बीच कोई भी योग उत्पन्न कर सके।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है -
const arr = [1, 5, 10]; const sum = 20;
तब आउटपुट होना चाहिए -
const output = 2;
आउटपुट स्पष्टीकरण:
क्योंकि अगर हम ऐरे में दो नंबर (2 और 4) जोड़ते हैं, तो हम [0, 20]
के बीच कोई भी योग प्राप्त कर सकते हैं।उदाहरण
इसके लिए कोड होगा -
const arr = [1, 5, 10]; const sum = 20; const minimumAddition = (arr = [], sum = 1) => { let canAdd = 1; let count = 0,i = 0; while(canAdd <= sum){ if((i >= arr.length) || (canAdd < arr[i])){ count++; canAdd+=canAdd; }else{ canAdd += arr[i++]; }; }; return count; }; console.log(minimumAddition(arr, sum));
आउटपुट
कंसोल में आउटपुट होगा -
2