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

C++ में सामग्री की बर्बादी के बिना बर्गर की संख्या


मान लीजिए हमारे पास दो पूर्णांक tomatoSlices और cheeseSlices हैं। ये विभिन्न बर्गर की सामग्री हैं:

  • जंबो बर्गर: 4 टमाटर स्लाइस और 1 चीज़ स्लाइस।
  • स्मॉल बर्गर: 2 टमाटर स्लाइस और 1 चीज़ स्लाइस।

हमें [total_jumbo, total_small] ढूंढना है ताकि बचे हुए टमाटर स्लाइस की संख्या 0 के बराबर हो और बचे हुए चीज़ स्लाइस की संख्या भी 0 के बराबर हो। यदि शेष टमाटर और चीज़ स्लाइस को 0 बनाना संभव नहीं है तो खाली सरणी [] लौटाएं। उदाहरण के लिए, यदि इनपुट tomatoSlices = 16 और cheeseSlices = 7 है, तो आउटपुट [1, 6] होगा। इसका मतलब है, 1 जंबो बर्गर और 6 स्मॉल बर्गर बनाने के लिए हमें 4*1 + 2*6 = 16 टमाटर स्लाइस और 1 + 6 = 7 चीज़ स्लाइस चाहिए।

इसे हल करने के लिए, हम निम्नलिखित चरणों का पालन करेंगे:

  • ans नामक एक सरणी बनाएं
  • यदि टमाटर विषम है या चीज़ > टमाटर/2 या टमाटर > 4*चीज़, तो ans लौटाएं
  • x := (4 * cheese - tomato) / 2
  • y := (tomato - (2*x)) / 4
  • y फिर x को सरणी ans में डालें
  • ans लौटाएं

उदाहरण

#include <bits/stdc++.h> using namespace std; void print_vector(vector<auto> v){    cout << "[";    for(int i = 0; i<v.size(); i++){       cout << v[i] << ", ";    }    cout << "]"<<endl; } class Solution {    public:    vector<int> numOfBurgers(int t, int c) {       vector <int> ans;       if(t % 2 != 0 || c > t/2 || t > c*4)return ans;       int x = (4 * c - t) / 2;       int y = ( t - (2 * x) )/ 4;       ans.push_back(y);       ans.push_back(x);       return ans;    } }; main(){    Solution ob;    print_vector(ob.numOfBurgers(16,7)); }

इनपुट

16 7

आउटपुट

[1, 6, ]

  1. - C++ में सीमित अधिकतम के साथ उपसरणी की संख्या

    मान लीजिए हमारे पास धनात्मक पूर्णांकों की एक सरणी A है, और दो धनात्मक पूर्णांक L और R भी दिए गए हैं। हमें (सन्निकट, गैर-खाली) उपसरणी की संख्या ढूंढनी है जैसे कि उस उपसरणी में अधिकतम सरणी तत्व का मान कम से कम L और अधिकतम R हो।उदाहरण के लिए, यदि A = [2,1,4,3] और L = 2 और R = 3, तो आउटपुट 3 होगा क्योंक

  1. - C++ में जांचें कि संख्या N, b-बेस में 1 से शुरू होती है या नहीं

    हमारे पास एक संख्या N और एक बेस b है। इस प्रोग्राम में हमें जांचना है कि क्या संख्या बेस b में 1 से शुरू होती है या नहीं। मान लीजिए संख्या 6 दी गई है। बाइनरी में यह 110 है, तो यह 1 से शुरू होती है, बेस 4 में भी यह 12₄ होगी। यहां भी यह 1 से शुरू होती है। जैसा कि हम जानते हैं, यदि संख्या N को बेस b म

  1. - C++ में वेरिएबल बनाम वास्तविक संख्या से सरणी इनिशियलाइज़ करना

    सरणी एक ही प्रकार के एलिमेंट्स का संग्रह है जो सन्निहित मेमोरी लोकेशन पर होते हैं। सरणी में सबसे कम पता पहले एलिमेंट से मेल खाता है जबकि सबसे अधिक पता अंतिम एलिमेंट से मेल खाता है। सरणी इंडेक्स शून्य (0) से शुरू होता है और सरणी के आकार घटा एक (सरणी आकार - 1) पर समाप्त होता है। सरणी को वेरिएबल्स के स