Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Javascript

जावास्क्रिप्ट में लापता ऑपरेटर को भरकर पूरा समीकरण


हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो संख्याओं का एक समूह लेता है और समीकरण को संतुष्ट करने के लिए संचालन का सही क्रम देता है। उपयोग किए जा सकने वाले ऑपरेटर (+, -, *, /, ^,%) हैं।

उदाहरण के लिए -

Input : 5 3 8          Output : 5+3=8
Input : 9 27 3         Output : 9=27/3
Input : 5 2 25 , 1 5 2 Output : 5^2=25 , 1=5%2

प्रत्येक इनपुट के लिए, कम से कम एक संभावित अनुक्रम होता है, हमें कम से कम एक सही अनुक्रम वापस करने की आवश्यकता होती है।

इस समस्या को हल करने के लिए हम जिस एल्गोरिथम का उपयोग करने जा रहे हैं वह है -

  • सबसे पहले, हम एक तरफ से बड़ी संख्या चुनते हैं जैसे 1 4 7 में यह 7 होगा

  • फिर हम बीच का सामना करने के बराबर डालते हैं। 1 4 7 की तरह यह 1 4=7 होगा

  • अंत में, हम समीकरण हल करते हैं

  • अगर वह काम नहीं करता है, तो हम दूसरा नंबर आज़माते हैं

उदाहरण

इसके लिए कोड होगा -

const arr = ["5 3 8", "9 27 3", "5 2 25", "1 5 2", "3 3 3 30"];
const findCombination = (arr = []) => {
   const answers = [];
   for(let i = 0; i < arr.length; i++){
      const el = arr[i];
      // using brute force to try solutions
      for(let n = 0; n < 1000; n++){
         const s = el.replace(/ /g, () => "+−
         */^%="[Math.floor(Math.random() * 7)]);
         if(eval(s.replace(/=/g, "===").replace(/\^/g, "**")) === true
         && answers.indexOf(s) === −1){
            answers.push(s);
         };
      };
   }
   return answers;
};
console.log(findCombination(arr));

आउटपुट

और कंसोल में आउटपुट होगा -

[
   '5+3=8',
   '9=27/3',
   '5^2=25',
   '1=5%2',
   '3=3%3^30',
   '3^3+3=30',
   '3+3^3=30'
]

  1. जावास्क्रिप्ट में इंस्टेंसऑफ़ ऑपरेटर

    ऑपरेटर का उदाहरण परीक्षण करता है कि किसी ऑब्जेक्ट की प्रोटोटाइप श्रृंखला में किसी कंस्ट्रक्टर की प्रोटोटाइप संपत्ति कहीं भी दिखाई देती है या नहीं। एक सरल भाषा में, यह परीक्षण करता है कि एक चर एक निश्चित प्रकार का है या नहीं। लेकिन इसमें कुछ चेतावनी हैं। आइए कुछ उदाहरण देखें। आदिम स्ट्रिंग्स और नंबर

  1. जावास्क्रिप्ट स्प्रेड ऑपरेटर

    जावास्क्रिप्ट स्प्रेड ऑपरेटर हमें एक सरणी को अलग-अलग सरणी तत्वों में विस्तारित करने की अनुमति देता है। स्प्रेड ऑपरेटर का उपयोग करने के लिए सरणी नाम से पहले तीन बिंदु (...) होने चाहिए। जावास्क्रिप्ट स्प्रेड ऑपरेटर के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"&g

  1. जावास्क्रिप्ट में ग्रुपिंग ऑपरेटर को समझाइए।

    ग्रुपिंग ऑपरेटर का उपयोग अभिव्यक्ति मूल्यांकन की प्राथमिकता को प्रबंधित करने के लिए किया जाता है। जावास्क्रिप्ट में ग्रुपिंग ऑपरेटर के लिए कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="view