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

C++ में टूटी हुई छड़ी के टुकड़ों से n-भुजा बहुभुज बनाने की प्रायिकता


हमें किसी भी लंबाई की एक छड़ी दी गई है और उस छड़ी को रैंडमली n टुकड़ों में तोड़ा जा सकता है जो इंटीजर या फ्लोटिंग पॉइंट टाइप के हो सकते हैं और कार्य यह पता लगाना है कि टूटे हुए टुकड़े n-भुजा बहुभुज बना सकते हैं या नहीं।

हम सूत्र लागू करके प्रायिकता की गणना कर सकते हैं:

$$P(E') = 1 - P(E) = 1 - \frac{n}{2^{n-1}}$$

जहां, n छड़ी को भागों में तोड़कर उत्पन्न टुकड़ों की संख्या है।

इनपुट

length = 10, pieces = 4

आउटपुट

probability is: 0.5

व्याख्या - 10 सेमी आकार की लंबाई दी गई है और इसे 4 भागों में तोड़ा गया है

इनपुट

length = 5, pieces = 3

आउटपुट

probability is: 0.25

व्याख्या - 5 सेमी आकार की लंबाई दी गई है और इसे 3 भागों में तोड़ा गया है

नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण

  • छड़ी की लंबाई और उन टुकड़ों की संख्या इनपुट करें जिनमें इसे तोड़ा जा सकता है
  • प्रायिकता की गणना के लिए सूत्र लागू करें
  • परिणाम प्रिंट करें

एल्गोरिदम

Start
Step 1→ प्रायिकता की गणना करने के लिए फंक्शन घोषित करें
    double probab(unsigned len, unsigned pieces)
        unsigned a = (1 << (pieces - 1)) घोषित करें
        return 1.0 - ((double)pieces) / ((double)a)

Step 2→ main() में
    unsigned pieces = 4, len = 10 घोषित करें
    probab(len, pieces) कॉल करें
Stop

उदाहरण

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

// प्रायिकता की गणना करने का फंक्शन
double probab(unsigned len, unsigned pieces) {
    unsigned a = (1u << (pieces - 1));
    return 1.0 - ((double)pieces) / ((double)a);
}

int main() {
    unsigned pieces = 4, len = 10;
    cout << "Probability is: " << probab(len, pieces);
    return 0;
}

आउटपुट

Probability is: 0.5

  1. N कट के बाद वृत्त के टुकड़ों की संख्या गिनें C++ में N कट के बाद वृत्त के टुकड़ों की संख्या गिनें C++ में

    हमें एक पूर्णांक N दिया गया है जो 2D-वृत्त पर लगाए गए कट की संख्या को दर्शाता है। प्रत्येक कट वृत्त को दो हिस्सों में विभाजित करता है। लक्ष्य N कट के बाद वृत्त के टुकड़ों को ढूंढना है। टुकड़ों की संख्या = 2 * कट की संख्या उदाहरण से समझते हैं इनपुट - N=1 आउटपुट - वृत्त के टुकड़े: 2 व्याख्या इनपुट -

  1. - लिनक्स पर C++ के लिए शीर्ष IDE

    बड़े प्रोजेक्ट्स को केवल टेक्स्ट एडिटर्स पर प्रबंधित करना मुश्किल होता है। ऐसे मामलों में IDE का उपयोग करने से आप अधिक उत्पादक और कम निराश होंगे। विभिन्न प्रकार के IDE उपलब्ध हैं और आपको अपनी आवश्यकताओं के अनुरूप सही चुनना चाहिए। यहां लिनक्स के लिए सर्वश्रेष्ठ C/C++ IDEs की सूची दी गई है। NetBeans

  1. - विंडोज पर C++ के लिए शीर्ष IDE

    बड़े प्रोजेक्ट्स को केवल टेक्स्ट एडिटर्स पर प्रबंधित करना मुश्किल होता है। ऐसे मामलों में IDE का उपयोग करने से आप अधिक उत्पादक और कम निराश होंगे। विभिन्न प्रकार के IDE उपलब्ध हैं और आपको अपनी आवश्यकताओं के अनुरूप सही चुनना चाहिए। यहां विंडोज के लिए सर्वश्रेष्ठ C/C++ IDEs की सूची दी गई है। Visual S