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

सी ++ में इष्टतम डिवीजन

मान लीजिए हमारे पास धनात्मक पूर्णांकों की एक सूची है; आसन्न पूर्णांक फ्लोट डिवीजन का प्रदर्शन करेंगे। तो उदाहरण के लिए, [2,3,4] -> 2 / 3 / 4। अब, हम इन परिचालनों की प्राथमिकता को बदलने के लिए किसी भी स्थिति में किसी भी संख्या में कोष्ठक जोड़ सकते हैं। हमें यह पता लगाना चाहिए कि अधिकतम परिणाम प्राप्त करने के लिए कोष्ठक कैसे जोड़ा जाए, हमें स्ट्रिंग प्रारूप में संबंधित अभिव्यक्ति को खोजना होगा। हमारी अभिव्यक्ति में अनावश्यक कोष्ठक नहीं होना चाहिए। तो अगर इनपुट [1000,100,10,2] जैसा है, तो परिणाम "1000/(100/10/2)" होगा।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • n :=nums array का आकार
  • अगर n 0 है तो एक खाली स्ट्रिंग लौटाएं।
  • संख्या:=nums[0] स्ट्रिंग के रूप में
  • यदि n 1 है, तो संख्या लौटाएं
  • यदि n 2 है, तो num concatenate /, concatenate nums[1] को स्ट्रिंग के रूप में लौटाएं
  • डेन:=एक खाली स्ट्रिंग
  • मैं के लिए 1 से n - 1 की सीमा में
    • den:=den + nums[i] स्ट्रिंग के रूप में
    • अगर मैं n-1 नहीं है, तो den :=den concatenate '/'
  • रिटर्न नंबर कॉन्सटेनेट / कॉन्सटेनेट (कॉन्सटेनेट डेन, कॉन्टेनेट)

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

उदाहरण

#include <bits/stdc++.h>
using namespace std;
class Solution {
   public:
   string optimalDivision(vector<int>& nums) {
      int n = nums.size();
      if(n == 0) return "";
      string num = to_string(nums[0]);
      if(n == 1) return num;
      if(n == 2) return num + "/" + to_string(nums[1]);
      string den = "";
      for(int i = 1; i < n; i++){
         den += to_string(nums[i]);
         if(i != n - 1) den += "/";
      }
      return num + "/" + "(" + den + ")";
   }
};
main(){
   vector<int> v = {1000,100,10,2};
   Solution ob;
   cout << (ob.optimalDivision(v));
}

इनपुट

[1000,100,10,2]

आउटपुट

1000/(100/10/2)

  1. सी++ एनम

    C++ Enum का उपयोग कैसे करें:एक गाइड एक एन्यूमरेटेड प्रकार एक उपयोगकर्ता-परिभाषित डेटा प्रकार है जिसे मानों की श्रेणी से एक मान असाइन किया जा सकता है। Enums अक्सर प्रोग्रामिंग में उपयोग किया जाता है जब एक चर केवल एक मान को विशिष्ट मानों के सेट से बाहर संग्रहीत करने में सक्षम होना चाहिए। उदाहरण के

  1. सी ++ में अहस्ताक्षरित पूर्णांक के लिए डिवीजन एल्गोरिदम बहाल करना

    एक विभाजन एल्गोरिथ्म का उपयोग करके एक अहस्ताक्षरित पूर्णांक को विभाजित करने पर चर्चा करें। कुछ डिवीजन एल्गोरिदम कागज पर लागू होते हैं, और अन्य डिजिटल सर्किट पर लागू होते हैं। डिवीजन एल्गोरिदम दो प्रकार के होते हैं:स्लो डिवीजन एल्गोरिथम और फास्ट डिवीजन एल्गोरिथम। स्लो डिविजन एल्गोरिथम में रिस्टोरिंग,

  1. इष्टतम पृष्ठ प्रतिस्थापन एल्गोरिथम के लिए C++ प्रोग्राम

    पृष्ठ संख्या और पृष्ठ आकार दिया गया; कार्य हिट और मिस की संख्या का पता लगाना है जब हम इष्टतम पेज रिप्लेसमेंट एल्गोरिथम का उपयोग करके किसी पृष्ठ को मेमोरी ब्लॉक आवंटित करते हैं। इष्टतम पृष्ठ प्रतिस्थापन एल्गोरिथम क्या है? इष्टतम पृष्ठ प्रतिस्थापन एल्गोरिथ्म एक पृष्ठ प्रतिस्थापन एल्गोरिथ्म है। पेज