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);
        }
View Code

相关文章:

  • 2021-07-13
  • 2021-07-08
  • 2021-11-10
  • 2022-01-12
  • 2021-11-24
  • 2021-09-06
  • 2021-12-02
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-08-23
  • 2021-12-15
  • 2021-08-02
  • 2021-12-30
  • 2021-12-14
  • 2022-01-31
相关资源
相似解决方案