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

C++ में K गिलास भरने के लिए आवश्यक न्यूनतम बोतलें


समस्या विवरण

N गिलास दिए गए हैं जिनमें पानी है, और उनकी प्रत्येक क्षमता की सूची दी गई है। कार्य ठीक K गिलास भरने के लिए आवश्यक न्यूनतम बोतलों की संख्या ढूंढना है। प्रत्येक बोतल की क्षमता 100 यूनिट है।

उदाहरण

यदि N = 5, K = 4, capacity[] = {1, 2, 3, 2, 1}।

  • क्षमता 2, 3, 2 वाले गिलास भरने के लिए 8 यूनिट्स की आवश्यकता होती है।
  • इस तरह, केवल 1 बोतल खोलना पर्याप्त है।

एल्गोरिदम

  • ठीक K गिलास भरने के लिए, सबसे कम क्षमता वाले K गिलास लें
  • कुल आवश्यक बोतलों की गणना निम्नानुसार की जा सकती है:

    सीलिंग वैल्यू ऑफ (पहले k गिलास की क्षमताओं का योग) / (1 बोतल की क्षमता)।

उदाहरण

#include <iostream> 
#include <algorithm> 
#include <cmath> 
using namespace std; 

int minBottles(int *capacity, int n, int k) { 
    sort(capacity, capacity + n); 
    int sum = 0; 
    for (int i = 0; i < k; ++i) { 
        sum += capacity[i]; 
    } 
    return ceil((double)sum / 100); 
} 

int main() { 
    int capacity[] = {1, 2, 3, 2, 1}; 
    cout << "Min bottles required = " << minBottles(capacity, 5, 4) << endl; 
    return 0; 
}

आउटपुट

जब आप उपरोक्त प्रोग्राम को कंपाइल और एक्जीक्यूट करते हैं। यह निम्नलिखित आउटपुट उत्पन्न करता है:

Min bottles required = 1

  1. - C++ में न्यूनतम पृष्ठों का आवंटन

    न्यूनतम पृष्ठों का आवंटन एक प्रोग्रामिंग समस्या है। आइए इस समस्या पर विस्तार से चर्चा करते हैं और देखते हैं कि इसका समाधान क्या हो सकता है। कथन आपको n विभिन्न पुस्तकों के पृष्ठों की संख्या दी गई है। साथ ही, m छात्र हैं जिन्हें पुस्तकें आवंटित की जानी हैं। पुस्तकें पृष्ठों की संख्या के आरोही क्रम में

  1. - C++ में k सेट बिट्स के साथ नंबर को अधिकतम करने के लिए न्यूनतम फ्लिप्स

    समस्या कथनदो नंबर n और k दिए गए हैं, हमें दिए गए नंबर को उसके बिट्स फ्लिप करके अधिकतम करने के लिए आवश्यक न्यूनतम फ्लिप्स की संख्या ढूंढनी है जैसे कि परिणामी नंबर में ठीक k सेट बिट्स हों। कृपया ध्यान दें कि इनपुट को कंडीशन पूरी करनी चाहिए कि k, n में बिट्स की संख्या से कम हो।उदाहरणमान लीजिए n = 9 और

  1. - C++ में CHAR_BIT

    CHAR_BIT क्या है? CHAR_BIT एक बाइट में बिट्स की संख्या दर्शाता है। <climits> या <limits.h> हेडर में परिभाषित। आमतौर पर 8 बिट्स प्रति बाइट होता है। C++ प्रोग्राम उदाहरण #include <bits/stdc++.h> using namespace std; int main() { int x = 28; int total_bits = CHAR_BIT * size