伯努利装错信封问题c++代码
时间: 2023-10-02 15:07:05 浏览: 62
伯努利装错信封问题是一个经典的概率问题,其代码实现如下:
```python
import random
def bernoulli(n):
count = 0
for i in range(n):
envelope1 = random.randint(1, n)
envelope2 = random.randint(1, n)
if envelope1 != envelope2:
count += 1
return count/n
print(bernoulli(10000))
```
上述代码中,我们通过 `random.randint(1, n)` 函数来随机生成两个不同的信封,然后计算两个信封不同的概率。在循环执行 `n` 次后,将不同的次数除以总次数即可得到实验结果。
相关问题
伯努利装错信封问题c++
伯努利装错信封问题是一个经典的概率问题,即将n个信封装入n个信封,每个信封只能装一个信件。如果所有信件装入信封之后,恰好有k个信封装错了信件,那么求k个信封都装错信件的概率是多少?
这个问题的答案是1/n,即每个信封被随机分配到任何一个信封的概率都是1/n,因此每个信封被装错信件的概率也是1/n,所以恰好有k个信封都装错信件的概率是C(n,k)*(1/n)^k*(1-1/n)^(n-k)。其中C(n,k)表示从n个信封中选择k个信封的组合数。
c++ 伯努利分布
在C++中,可以使用标准库中的random库来生成伯努利分布。伯努利分布是一种二项分布,用于描述只有两种可能结果的离散随机变量,如硬币正面或反面的结果。在伯努利分布中,只有一个参数,即成功的概率p。以下是一个简单的示例程序:
```c++
#include <iostream>
#include <random>
int main() {
std::default_random_engine generator;
std::bernoulli_distribution distribution(0.5); //成功的概率为0.5
int count_true = 0;
int count_false = 0;
for (int i = 0; i < 100; ++i) {
if (distribution(generator)) {
++count_true;
} else {
++count_false;
}
}
std::cout << "True count: " << count_true << std::endl;
std::cout << "False count: " << count_false << std::endl;
return 0;
}
```
在上面的代码中,我们使用了std::default_random_engine作为随机数生成器,std::bernoulli_distribution表示伯努利分布。我们生成了100个伯努利分布的随机数,成功的概率为0.5,统计了成功和失败的次数,并打印输出了结果。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)