模拟取球

static void T8_Wrap() { ThreadPool.QueueUserWorkItem(o => { T8(); }, null); ThreadPool.QueueUserWorkItem(o => { T8(); }, null); ThreadPool.QueueUserWorkItem(o => { T8(); }, null); } static void T8() { var rnd = new Random(Environment.TickCount); var total = 1000000000; var C_W0 = 0; var C_W1 = 0; var C_W2 = 0; var C_W3 = 0; for (int i = 0; i < total; i++) { var whiteCount = 0; var list = new List<String>() { "W", "W", "W", "W", "W", "R", "R", "R", "R", "R", "R", "R" }; for (int step = 0; step < 3; step++) { var index = rnd.Next(list.Count); var it = list[index]; list.Add(it); if (it == "W") whiteCount++; } if (whiteCount == 0) C_W0++; if (whiteCount == 1) C_W1++; if (whiteCount == 2) C_W2++; if (whiteCount == 3) C_W3++; } Console.WriteLine("Total:{0},Count:{1},Probability-C_W0:{2}", total, C_W0, (double)C_W0 / (double)total); Console.WriteLine("Total:{0},Count:{1},Probability-C_W1:{2}", total, C_W1, (double)C_W1 / (double)total); Console.WriteLine("Total:{0},Count:{1},Probability-C_W2:{2}", total, C_W2, (double)C_W2 / (double)total); Console.WriteLine("Total:{0},Count:{1},Probability-C_W3:{2}", total, C_W3, (double)C_W3 /(double) total); Console.WriteLine("C_W0+C_W1+C_W2+C_W3={0}", C_W3 + C_W2 + C_W1 + C_W0); }
罐里5白7红,随即拿一个,记录颜色,放回,再放一个同颜色的球,
连取三个球,求以下概率。
0白,1白,2白,3白
T8_Wrap()在i5处理器上能占用75%的CPU,因为启动了3个线程,而i5有4核。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 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的设计模式综述
2012-04-20 二层交换机的MAC表学习过程