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

सी++ में पानी और जग की समस्या


मान लीजिए कि हमारे पास x और y लीटर की क्षमता वाले दो जग हैं। हमारे लिए अनंत मात्रा में जल आपूर्ति उपलब्ध है। अब हमें यह निर्धारित करने की आवश्यकता है कि क्या इन दो जगों का उपयोग करके ठीक z लीटर मापना संभव है। यदि z लीटर पानी को मापा जा सकता है, तो हमारे पास अंत तक एक या दोनों बाल्टी में z लीटर पानी होना चाहिए।

हम ये कुछ ऑपरेशन कर सकते हैं -

  • किसी भी घड़े को पानी से पूरी तरह भरें।

  • किसी भी घड़े को खाली कर दें।

  • एक जग से दूसरे जग में तब तक पानी डालें जब तक कि दूसरा जग पूरी तरह से भर न जाए या पहला जग अपने आप खाली न हो जाए।

तो अगर x =2 और y =5, और z =4, तो यह सही होगा।

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

  • अगर x + y

  • अगर x =z या y =z, या x + y =z, तो सही लौटें

  • रिटर्न ट्रू z x और y के gcd से विभाज्य है, अन्यथा असत्य

उदाहरण (C++)

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

#include <bits/stdc++.h&g;
using namespace std;
class Solution {
   public:
   bool canMeasureWater(int x, int y, int z) {
      if(x + y < z) return false;
      if(x == z || y == z || x + y == z) return true;
      return z % __gcd(x, y) == 0;
   }
};
main(){
   Solution ob;
   cout << (ob.canMeasureWater(3,5,4));
}

इनपुट

3
5
4

आउटपुट

1

  1. गो और सी ++ के बीच अंतर।

    जाओ गो एक प्रक्रियात्मक प्रोग्रामिंग भाषा है। पैकेज का उपयोग करके कार्यक्रमों को इकट्ठा किया जाता है। यह गतिशील भाषाओं के समान पर्यावरण अपनाने वाले पैटर्न का समर्थन करता है। C++ C++ एक ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज है। C++ शांत तेज, विश्वसनीय और सुरक्षित है। यह सबसे व्यापक रूप से उपयोग क

  1. सी ++ में fmax () और fmin ()

    इस खंड में हम देखेंगे कि fmax () और fmin () को C++ में कैसे बदलें। fmax() और fmin() cmath हेडर फाइल में मौजूद हैं। यह फ़ंक्शन फ्लोट, या डबल या लॉन्ग डबल के दो मान लेता है और क्रमशः fmax () और fmin () का उपयोग करके अधिकतम या न्यूनतम देता है। यदि तर्क प्रकार भिन्न हैं, जैसे यदि कोई फ्लोट और डबल की त

  1. सी ++ में हटाएं () और मुफ्त ()

    हटाएं () डिलीट ऑपरेटर का उपयोग मेमोरी को डीलोकेट करने के लिए किया जाता है। उपयोगकर्ता को इस डिलीट ऑपरेटर द्वारा बनाए गए पॉइंटर वेरिएबल को डीलोकेट करने का विशेषाधिकार है। यहाँ C++ भाषा में डिलीट ऑपरेटर का सिंटैक्स दिया गया है, delete pointer_variable; आबंटित मेमोरी के ब्लॉक को हटाने के लिए सिंटैक्