इस समस्या में, हमें दो नंबर M और N दिए गए हैं जो वर्तमान डेटा तक आयोजित कक्षाओं की कुल संख्या और छात्रों द्वारा भाग लेने वाली कक्षाओं की संख्या को क्रमशः दर्शाते हैं। हमारा काम सी++ में 75% बनाए रखने के लिए व्याख्यानों की न्यूनतम संख्या खोजने के लिए एक कार्यक्रम बनाना है।
समस्या का विवरण
75% प्रतिशत उपस्थिति बनाए रखने के लिए कॉलेज के छात्रों की यह सबसे बड़ी चिंताओं में से एक है। यह कार्यक्रम उन व्याख्यानों की न्यूनतम संख्या की गणना करता है जिन्हें छात्र द्वारा नियमित रूप से 75% की उपस्थिति प्राप्त करने के लिए भाग लिया जाना है।
समस्या को समझने के लिए एक उदाहरण लेते हैं,
उदाहरण 1
इनपुट :एम =32, एन =20
आउटपुट :16
स्पष्टीकरण
न्यूनतम 75% उपस्थिति प्राप्त करने के लिए छात्र को कम से कम 16 व्याख्यानों में भाग लेना चाहिए। इससे कुल लेक्चर 48 हो जाएंगे और लेक्चर 36 में शामिल हो जाएंगे।
प्रतिशत =36*100/48 =75%
उदाहरण 1
इनपुट :एम =14, एन =4
आउटपुट :26
स्पष्टीकरण
न्यूनतम 75% उपस्थिति प्राप्त करने के लिए छात्र को कम से कम 26 व्याख्यानों में भाग लेना चाहिए। इससे कुल लेक्चर 40 हो जाएंगे और लेक्चर 30 में शामिल हो जाएंगे।
प्रतिशत =30*100/40 =75%
समाधान दृष्टिकोण
यहां, हमें छात्र को भाग लेने के लिए आवश्यक व्याख्यानों की संख्या खोजने की आवश्यकता है। एक आसान तरीका यह है कि दोनों पक्षों में एक व्याख्यान जोड़ा जाए और जब विभाजन 0.75 या उससे अधिक हो तो जोड़ना बंद कर दें और पुनरावर्तक का मान वापस कर दें।
हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,
उदाहरण
#include <iostream> using namespace std; int maintainAtt(int M, int N) { int att = 0; while(1){ if(((N+att)*100)/(M+att) >= 75){ return att; } att++; } } int main() { int M = 23, N = 12; cout<<"The total number of lectures to be attended is "<<maintainAtt(M, N); return 0; }
आउटपुट-
The total number of lectures to be attended is 21
यह दृष्टिकोण एक लूप का उपयोग करता है जो ऑर्डर ओ (एन) के समाधान की समय जटिलता बनाता है। लेकिन हम गणना के लिए गणितीय सूत्र का उपयोग करके इसे O(1) समय जटिलता में कर सकते हैं।
75% उपस्थिति बनाए रखने के लिए उपस्थित होने के लिए न्यूनतम व्याख्यान का सूत्र है
$$\वर्ग\वर्ग\वर्ग\वर्ग\बाएं(\frac{(0.75)+\वर्ग-\वर्ग}{0.25}\दाएं)$$
हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,
उदाहरण
#include <iostream> #include <math.h> using namespace std; int maintainAtt(int M, int N) { int att = ceil(((0.75*M) - N)/(0.25)); return att; } int main() { int M = 30, N = 11; cout<<"The total number of lectures to be attended is "<<maintainAtt(M, N); return 0; }
आउटपुट
The total number of lectures to be attended is 46