हमें किसी भी लम्बाई की छड़ी के साथ दिया जाता है और उस छड़ी को यादृच्छिक रूप से n टुकड़ों में तोड़ा जा सकता है जो कि पूर्णांक या फ्लोटिंग पॉइंट प्रकार का हो सकता है और कार्य यह पता लगाना है कि टूटे हुए टुकड़े कर सकते हैं या नहीं एक n पक्षीय बहुभुज बनाएं।
हम फ़ॉर्मूला लागू करके प्रायिकता की गणना कर सकते हैं
$$P(E^{\prime})=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→ Declare function to calculate the probability double probab(unsigned len, unsigned pieces) declare unsigned a = (1 << (pieces-1)) return 1.0 - ((double)pieces) / ((double)a) step 2→ In main() Declare unsigned pieces = 4, len = 10 Call probab(len, pieces) Stop
उदाहरण
#include<iostream> using namespace std; //function to calculate probability double probab(unsigned len, unsigned pieces){ unsigned a = (1 < (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