समस्या
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना आवश्यक है जो ठीक 4 संख्याओं की एक सरणी लेता है, एआर, पहले तर्क के रूप में और दूसरे तर्क के रूप में एक लक्ष्य।
लक्ष्य के बराबर मान प्राप्त करने के लिए हमारे फ़ंक्शन को यह निर्धारित करने की आवश्यकता है कि सरणी में संख्याएं *, /, +, -, (, ) के माध्यम से संचालित हो सकती हैं या नहीं।
उदाहरण के लिए, यदि फ़ंक्शन का इनपुट है
इनपुट
const arr =[5, 3, 2, 1];const target =4;
आउटपुट
कॉन्स्ट आउटपुट =सत्य;
आउटपुट स्पष्टीकरण
क्योंकि हम इस तरह 4 हासिल कर सकते हैं -
(5 - 1) * (3 - 2) =4
उदाहरण
निम्नलिखित कोड है -
const arr =[5, 3, 2, 1];const target =4;const canOperate =(arr =[], target =1) => {const isValid =x => Math.abs(x - target ) <0.000001 कॉन्स हेल्पर =(arr =[]) => {if (arr.length ===1) {रिटर्न isValid(arr[0])} लेट वैलिड =फॉल्स फॉर (आइए =0; iअनुक्रमणिका !==i &&अनुक्रमणिका !==j) मान्य =मान्य || हेल्पर([...nextArr, arr[i] + arr[j]]) || हेल्पर([...nextArr, arr[i] - arr[j]]) || हेल्पर([...nextArr, arr[j] - arr[i]]) || हेल्पर([...nextArr, arr[i] *arr[j]]) || हेल्पर([...nextArr, arr[i] / arr[j]]) || हेल्पर ([...nextArr, arr[j] / arr[i]]) } } रिटर्न वैलिड } रिटर्न हेल्पर (arr)}console.log(canOperate(arr, target));