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

C++ में सभी प्रश्नों को वितरित करने के लिए आवश्यक न्यूनतम मेल

समस्या कथन

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

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

यदि N=3, K=3, X=1, तो 6 मेल भेजने होंगे:

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

एल्गोरिदम

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

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

C++ उदाहरण

#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, students = 3, 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++ में स्ट्रिंग के सबस्ट्रिंग्स की संख्या निकालना C++ में स्ट्रिंग के सबस्ट्रिंग्स की संख्या निकालना

    इस लेख में, आप एक दी गई स्ट्रिंग में बनने वाले सबस्ट्रिंग्स (गैर-खाली) की संख्या निकालने के दृष्टिकोण के बारे में जानेंगे।इनपुट: string = moon आउटपुट: 10 व्याख्या: सबस्ट्रिंग्स हैं m, o, o, n, mo, oo, on, moo, oon और moon। इनपुट: string = yellow आउटपुट: 21समाधान खोजने का दृष्टिकोणमान लें स्ट्रिंग की

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

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

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

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