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

C++ में 2 पाँसे N बार फेंकने पर योग प्राप्त होने की प्रायिकता

हमें योग के साथ दिया गया है और पासा की जोड़ी को एक इनपुट के रूप में फेंका गया है और कार्य एक जोड़ी एन बार फेंकने पर दिए गए योग को प्राप्त करने की संभावना निर्धारित करना है।

उपलब्ध डेटा के सेट से वांछित आउटपुट प्राप्त करने की संभावना संभावना है। प्रायिकता की सीमा 0 और 1 के बीच होती है जहाँ एक पूर्णांक 0 असंभवता की संभावना को दर्शाता है और 1 निश्चितता को दर्शाता है।

उदाहरण

Input-: sum = 12, N = 1
Output-: Probability = 1/36
Explanation-: if a pair of dice is thrown once then the combinations will be
(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (2, 1), (2, 2), (2, 3), (2, 4),
(2, 5), (2, 6), (3, 1), (3, 2), (3, 3), (3, 4), (3, 5), (3, 6), (4, 1), (4, 2),
(4, 3), (4, 4), (4, 5), (4, 6), (5, 1), (5, 2), (5, 3), (5, 4), (5, 5), (5, 6),
(6, 1), (6, 2), (6, 3), (6, 4), (6, 5), (6, 6). Out of these combinations we can
get sum 12 at pair (6, 6) only therefore probability would be 1/36

Input-: sum = 4 and N = 6
Output-: probability is : 1/2985984

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

  • योग और N का मान दर्ज करें जो इंगित करता है कि कितनी बार पासा फेंका गया है
  • 2 पासे फेंकने पर योग होने की प्रायिकता की गणना के लिए N बार इस सूत्र को लागू करें: (अनुकूल/कुल) ^ N
  • अब 2 पासों को 1 बार फेंकने पर उस योग के आने की प्रायिकता की गणना करें जो कि 1 सा होगा
  • उस योग के 2 पासों को N गुणा करने पर आने की प्रायिकता की गणना करने के लिए -
  • Probability2 =(Probability 1) ^ N. यानी Probability1 रेज़ टू पावर N

एल्गोरिदम

Start
Step 1-> declare function to calculate the probability
   int probability(int sum, int times)
   Declare and set float res = 0.0 and total = 36.0
   Declare and set long int probab = 0
   Loop For i = 1 and i <= 6 and i++
      Loop For j = 1 and j <= 6 and j++
         IF ((i + j) = sum)
            Set res++
         End
      End
   End
   Declare and set int gcd1 = __gcd((int)res, (int)total)
   Declare and set res = res / (float)gcd1
   Set total = total / (float)gcd1
   Set probab = pow(total, times)
   return probab
Step 2-> In main()
   Declare and set int sum = 4 and times = 6
   Call probability(sum, times)  
Stop

उदाहरण

#include <bits/stdc++.h>
using namespace std;
// function that calculates the Probability of getting a sum on throwing 2 Dices N times
int probability(int sum, int times) {
   float res = 0.0, total = 36.0;
   long int probab = 0;
   for (int i = 1; i <= 6; i++) {
      for (int j = 1; j <= 6; j++) {
         if ((i + j) == sum)
         res++;
      }
   }
   int gcd1 = __gcd((int)res, (int)total);
   res = res / (float)gcd1;
   total = total / (float)gcd1;
   probab = pow(total, times);
   return probab;
}
int main() {
   int sum = 4, times = 6;
   cout<<"probability is : ";
   cout << "1" << "/" << probability(sum, times);
   return 0;
}

आउटपुट

probability is : 1/2985984

  1. सी++ में त्रिभुज में न्यूनतम योग पथ

    समस्या कथन संख्याओं की त्रिकोणीय संरचना को देखते हुए, ऊपर से नीचे तक न्यूनतम पथ योग ज्ञात करें। प्रत्येक चरण में आप नीचे की पंक्ति में आसन्न संख्याओं पर जा सकते हैं। उदाहरण अगर इनपुट है -    5   7 3  8 1 2 9 6 4 5 फिर न्यूनतम योग 13 इस प्रकार है - 5 + 3 + 1 + 4 एल्गोरिदम गति

  1. C++ में सभी उप-अनुक्रमों के योग का योग ज्ञात कीजिए

    मान लें कि हमारे पास n तत्वों के साथ एक सरणी A है। हमें सरणी के सभी उपसमुच्चय के योग का कुल योग ज्ञात करना है। तो अगर सरणी A =[5, 6, 8] की तरह है, तो यह − . जैसा होगा सबसेट योग 5 5 6 6 8 8 5,6 11 6,8 14 5,8 13 5,6,8 19 कुल योग 76 चूंकि सरणी में n तत्व हैं, तो हमारे पास 2n उपसमुच्चय (खाली

  1. सी ++ में एक सम ऐरे पहेली?

    यहां हम सरणी से संबंधित एक दिलचस्प समस्या देखेंगे। n तत्वों के साथ एक सरणी है। हमें n तत्वों की एक और सरणी बनानी है। लेकिन दूसरी सरणी की i-वें स्थिति i-वें तत्व को छोड़कर पहले सरणी के सभी तत्वों का योग धारण करेगी। और एक बाधा यह है कि हम इस समस्या में घटाव ऑपरेटर का उपयोग नहीं कर सकते हैं। यदि हम घट