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

C++ का उपयोग करते हुए सभी प्रश्नों को वितरित करने के लिए आवश्यक मेल की न्यूनतम संख्या।

समस्या कथन

एक परीक्षा में N प्रश्न दिए गए हैं और कक्षा में K छात्र हैं। K छात्रों के बैच में से, N छात्रों ने एक-एक प्रश्न को ठीक से याद किया। एक मेल में अधिकतम X प्रश्न हो सकते हैं।

आवश्यक मेलों की न्यूनतम संख्या ज्ञात कीजिए ताकि पूरी कक्षा को सभी प्रश्नों के बारे में पता चल सके

अगर एन =3, के =3, एक्स =1 तो किसी को 6 मेल भेजने होंगे -

  • छात्र 1 अपना प्रश्न छात्र 2 और छात्र 3 (2 मेल) को भेजता है,
  • छात्र 2 और छात्र 3 तो क्या कुल मेल =2 * 3 =6

एल्गोरिदम

अंतिम उत्तर की गणना निम्न सूत्र का उपयोग करके की जा सकती है -

ceil(N/X) * (K-N) + (( ceil((N-1)/X)) * (N-1)) + (N-1)

उदाहरण

#include <iostream>
#include <cmath>
using namespace std;
int minMailsToBeSent(int n, int k, int x){
   int m = (n - 1) + ceil((n - 1) * 1.0 / x) * (n - 1) + ceil(n * 1.0 / x) * (k- n);
   return m;
}
int main(){
   int questions = 3;
   int students = 3;
   int X = 1;
   cout << "No of mails to be sent: " << minMailsToBeSent(questions, students, X) << endl;
   return 0;
}

आउटपुट

जब आप उपरोक्त प्रोग्राम को संकलित और निष्पादित करते हैं। यह निम्न आउटपुट उत्पन्न करता है -

No of mails to be sent: 6

  1. C++ का उपयोग करके एक स्ट्रिंग के सबस्ट्रिंग की संख्या ज्ञात करें

    इस लेख में, आप किसी दिए गए स्ट्रिंग में बनाए जा सकने वाले सबस्ट्रिंग (गैर-रिक्त) की संख्या को खोजने के तरीकों के बारे में जानेंगे। Input : string = “moon” Output : 10 Explanation: Substrings are ‘m’, ‘o’, ‘o’, ‘n’, ‘mo’, &lsqu

  1. C++ . का उपयोग करके स्टॉपिंग स्टेशनों की संख्या ज्ञात कीजिए

    बिंदु X और Y के बीच मध्यवर्ती ट्रेन स्टेशनों की संख्या n है। गिनें कि अलग-अलग तरीकों से ट्रेनों को s स्टेशनों पर रुकने के लिए व्यवस्थित किया जा सकता है जैसे कि कोई भी दो स्टेशन एक दूसरे के बगल में नहीं हैं। तो इस लेख में, हम स्टॉपिंग स्टेशनों की संख्या का पता लगाने के लिए हर संभव तरीके की व्याख्या क

  1. सी ++ में प्रतिद्वंद्वी को पकड़ने के लिए आवश्यक न्यूनतम चरणों को खोजने का कार्यक्रम

    मान लीजिए कि हमारे पास [u, v] के रूप में पेड़ के किनारों की एक सूची है, यह इंगित करता है कि u और v के बीच एक अप्रत्यक्ष किनारा है। और हमारे पास दो मान x और y भी हैं। यदि हम नोड x पर हैं, और हमारा प्रतिद्वंद्वी नोड y पर है। पहले दौर में, हम आगे बढ़ते हैं, फिर अगले दौर में प्रतिद्वंद्वी चलता है और इसी