हमें किसी भी लंबाई की एक छड़ी दी गई है और उस छड़ी को रैंडमली 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