书法字典:https://www.shufadict.com

一道概率题-From VCK 小白

题目描述:一个随机函数f(),只返回1和0,返回1的概率是p,返回0的概率是1-p,构造另外一个函数,只返回1和0,概率各1/2

答案,有代码有真相

复制代码
 1 int func()
 2 {
 3     int i ;
 4     int j ;
 5     while(true
 6     {
 7         i = f() ;
 8         j = f() ;
 9         if(i == 1 && j == 0)
10             return 1;
11         else if(i == 0 && j == 1)
12             return 0;
13     }
14 }
复制代码

以下代码等概率产生0和1

复制代码
代码
 1 #include <iostream>
 2 #include "time.h"
 3 using namespace std ;
 4 
 5 
 6 int main(void)
 7 {
 8     srand((unsigned int)time(0));
 9 
10     int c0 = 0 ;    // count for 0
11     int c1 = 0 ;    // count for 1
12 
13     // 随机产生1000次,i越大,c0和c1就越接近1:1
14     for (int i = 0; i < 1000++i)
15     {
16         int m = rand() % 2;
17         int n = rand() % 2 ;
18 
19         // 构造两个等概率事件
20         // 以下两个if语句对应两个等概率事件,所以当i足够大的时候,c0和c1应该是趋于相等的
21         if (m == 0 && n == 1)
22         {
23             cout << 0 ;
24             ++c0 ;
25         }
26 
27         if (m == 1 && n == 0)
28         {
29             cout << 1 ;
30             ++c1 ;
31         }
32     }
33     
34     cout << "number of 0 is: " << c0 << endl ;
35     cout << "number of 1 is: " << c1 << endl ;
36 
37     system("pause") ;
38     return 0 ;
39 }
复制代码

 --

posted on   翰墨小生  阅读(522)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述

导航

< 2010年3月 >
28 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 1 2 3
4 5 6 7 8 9 10
书法字典:https://www.shufadict.com
点击右上角即可分享
微信分享提示