Chúng ta được cung cấp tổng và số lần cặp xúc xắc được ném làm đầu vào và nhiệm vụ là xác định xác suất nhận được tổng đã cho khi ném một cặp xúc xắc N lần.
Xác suất là cơ hội nhận được đầu ra mong muốn từ tập dữ liệu có sẵn. Phạm vi xác suất nằm trong khoảng từ 0 đến 1 trong đó số nguyên 0 cho thấy khả năng không thể xảy ra và 1 cho thấy sự chắc chắn.
Ví dụ
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
Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau -
- Nhập giá trị của tổng và N cho biết số lần ném xúc xắc
- Để tính toán xác suất xảy ra tổng khi ném 2 con xúc xắc N lần, hãy áp dụng công thức này: (thuận lợi / tổng) ^ N
- Bây giờ hãy tính xác suất xảy ra tổng khi ném 2 con xúc xắc 1 lần, sẽ là 1
- để tính Xác suất xảy ra tổng khi ném 2 con xúc xắc N lần nó sẽ là -
- Probability2 =(Probability 1) ^ N. tức là Probability1 nâng lên thành lũy thừa N
Thuật toá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
Ví dụ
#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; }
Đầu ra
probability is : 1/2985984