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

JavaScript में लापता ऑपरेटर भरकर समीकरण पूरा करना


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

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

इनपुट : 5 3 8 आउटपुट : 5+3=8
इनपुट : 9 27 3 आउटपुट : 9=27/3
इनपुट : 5 2 25 , 1 5 2 आउटपुट : 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];
        // ब्रूट फोर्स का उपयोग करके समाधान आज़माना
        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. - जावास्क्रिप्ट में instanceof ऑपरेटर

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

  1. JavaScript स्प्रेड ऑपरेटर JavaScript स्प्रेड ऑपरेटर

    JavaScript स्प्रेड ऑपरेटर हमें एक ऐरे को व्यक्तिगत ऐरे एलिमेंट्स में विस्तारित करने की अनुमति देता है। स्प्रेड ऑपरेटर का उपयोग करने के लिए तीन डॉट्स (...) को ऐरे नाम से पहले लगाया जाना चाहिए।उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"

  1. जावास्क्रिप्ट में ग्रुपिंग ऑपरेटर समझाया गया जावास्क्रिप्ट में ग्रुपिंग ऑपरेटर समझाया गया

    ग्रुपिंग ऑपरेटर का उपयोग एक्सप्रेशन मूल्यांकन की प्रीसिडेंस को मैनेज करने के लिए किया जाता है। जावास्क्रिप्ट में ग्रुपिंग ऑपरेटर के लिए कोड निम्नलिखित है: उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, i