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

C++ में विभाजित करने या जैसा है वैसा मानने का विकल्प चुनकर अधिकतम मान


इस समस्या में, हमें एक संख्या N दी गई है। हमारा कार्य C++ में एक प्रोग्राम बनाना है ताकि विभाजित करने या जैसा है वैसा मानने के विकल्प के साथ अधिकतम मान ढूंढा जा सके।

समस्या विवरण

अधिकतम ढूंढने के लिए, हम कोई भी दो मान ले सकते हैं, या तो मान को जैसा है वैसा ले सकते हैं या हम विभाजित करके अधिकतम मान प्राप्त कर सकते हैं। मान को F(N/2) + F(N/3) + F(N/4) + F(N/5) के रूप में निकाला जा सकता है।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट: N = 8

आउटपुट: 9

व्याख्या

F(8) = F(8/2) + F(8/3) + F(8/4) + F(8/5) = F(4) + F(2) + F(2) + F(1) = 4 + 2 + 2 + 1 = 9

समाधान दृष्टिकोण

विचार केवल विभाजन के मान के लिए उसी फ़ंक्शन को कई बार कॉल करना है। इसके लिए हमने डायनामिक प्रोग्रामिंग की अवधारणा का उपयोग किया है और 0 से N तक F(i) के मानों को हल करने के लिए एक सरणी बनाई है, ताकि समाधान खोजने के लिए उनका पुनरावर्तन किया जा सके।

उदाहरण

#include <iostream> using namespace std; int calcMaximumValue(int N) {    int F[N + 1];    int divVal = 0;    F[0] = 0;    F[1] = 1;    for (int i = 2; i <= N; i++) {       divVal = ( F[i / 2] + F[i / 3] + F[i / 4] + F[i / 5] );       if(divVal > i)          F[i] = divVal;       else          F[i] = i;    }    return F[N]; } int main() {    int N = 8;    cout<<"विभाजित करने या जैसा है वैसा मानने के विकल्प के साथ अधिकतम मान = "<<calcMaximumValue(N);    return 0; }

आउटपुट

विभाजित करने या जैसा है वैसा मानने के विकल्प के साथ अधिकतम मान = 9

  1. C++ में उस नोड को ढूंढें जिसका X के साथ निरपेक्ष अंतर न्यूनतम मान देता है C++ में उस नोड को ढूंढें जिसका X के साथ निरपेक्ष अंतर न्यूनतम मान देता है

    मान लीजिए हमारे पास एक ट्री है, और सभी नोड्स के वजन और एक पूर्णांक x है। हमें नोड i ढूंढना है, जैसे कि |weight[i] - x| न्यूनतम हो। यदि ग्राफ नीचे की तरह है, और x = 15 आउटपुट 3 होगा। अब विभिन्न नोड्स के लिए, यह नीचे की तरह होगा: नोड 1, |5 – 15| = 10 नोड 2, |10 – 15| = 5 नोड 3, |11 – 15| = 4 नोड 4, |

  1. C++ प्रोग्राम: sin(x) और cos(x) का मान ज्ञात करना C++ प्रोग्राम: sin(x) और cos(x) का मान ज्ञात करना

    दिए गए कोण (angle) के लिए sin(x) और cos(x) के मान की गणना करना और परिणाम प्रदर्शित करना इस प्रोग्राम का उद्देश्य है। Sin(x) के लिए Sin(x) एक त्रिकोणमितीय फलन है जिसका उपयोग किसी कोण x के मान की गणना के लिए किया जाता है। सूत्र $$\sin (x) = \displaystyle\sum\limits_{k=0}^\infty \frac{(-1)^{k}}{(2k+

  1. - C++ प्रोग्राम किसी भी बीजगणितीय अभिव्यक्ति का अधिकतम मान खोजने के लिए

    यह किसी भी बीजगणितीय अभिव्यक्ति का अधिकतम मान खोजने के लिए एक C++ प्रोग्राम है। (x1 + x2 + ... + xa) * (y1 + y2 + ... + yb) रूप का एक बीजगणितीय अभिव्यक्ति और (a + b) इंटीजर्स दिए गए हैं। a नंबर्स और शेष b नंबर्स के सभी संभावित संयोजनों पर विचार करें और उनके मानों की गणना करें, जिससे अधिकतम मान प्रा