亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

c#獲取相同概率隨機數的算法代碼

2020-01-24 02:50:18
字體:
來源:轉載
供稿:網友

這幾天在做公司年會的一個抽獎軟件,開始做的的時候,認為算法是很簡單的,把員工的數據放進list里,把list的標號作為需要獲取的隨機數,根據得到的隨機數就確定是誰中獎。后來測試發現,隨機數的分布是非常不均勻的。后來才知道,原來計算機獲取的隨機數都是偽隨機數,當抽獎的速度非常快的時候,獲取的隨機數是非常不均勻的,所以在每次抽獎的時候要添加延時。后來重新設計算法,最終實現了。

算法原理跟二分查找的過程有點像。一枚硬幣抽中正、反面的概率是一樣,當抽樣的次數無限增多,抽中的概率是50%。

代碼如下:

復制代碼 代碼如下:

public partial class MainWindow : Window
    {
        string s;
        int number;
        public MainWindow()
        {
            InitializeComponent();
        }
        public int getRandom()
        {
            //string[] arr = new string[5] { "我們", "是", "一", "個","團隊" };

            Random r = new Random();
            int num = 2;
            int choose = r.Next(num);
            return choose;
            //MessageBox.Show(arr[choose].ToString());
        }
        public string GRandom(int n)
        {
            //if()
            if (n == 0)
            {
                //s = getRandom() + s;
                //System.Threading.Thread.Sleep(1);
                return s;
            }
            if (n % 2 == 0)
            {
                n = n / 2;

            }
            else
            {
                n = (n - 1) / 2;
                //s = getRandom() + s;
            }
            s = getRandom() + s;
            System.Threading.Thread.Sleep(20);
            GRandom(n);
            //System.Threading.Thread.Sleep(1);
            return s;
        }
        public Int32 Estimate(int n)
        {
            string num = GRandom(n);
            number = Convert.ToInt32(num, 2);
            if (number > n - 1)
            {
                //num = "";
                s = "";
                Estimate(n);
            }
            //else
            return number;
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            for (int i = 0; i < 100; i++)
            {
                label1.Content += Estimate(200) + ";";
                s = "";
            }
        }
    }

以上算法不是非常好,取消延時,將random對象設置為全局變量。修改版代碼如下:

復制代碼 代碼如下:

string s;
        int number;
        Random r = new Random();

        public int getRandom()
        {
            //string[] arr = new string[5] { "我們", "是", "一", "個","團隊" };

            //Random r = new Random();
            int num = 2;
            int choose = r.Next(num);
            return choose;
            //MessageBox.Show(arr[choose].ToString());
        }
        public string GRandom(int n)
        {
            //if()
            if (n == 0)
            {
                //s = getRandom() + s;
                //System.Threading.Thread.Sleep(1);
                return s;
            }
            if (n % 2 == 0)
            {
                n = n / 2;

            }
            else
            {
                n = (n - 1) / 2;
                //s = getRandom() + s;
            }
            s = getRandom() + s;
            GRandom(n);

            return s;
        }
        public Int32 Estimate(int n)
        {
            string num = GRandom(n);
            number = Convert.ToInt32(num, 2);
            if (number > n - 1)
            {
                //num = "";
                s = "";
                Estimate(n);
            }
            //else
            return number;
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            for (int i = 0; i < 1000; i++)
            {
                label1.Content = Estimate(200);
                s = "";
            }

        //以下為測試
            //int a = 0, b = 0, c = 0, d = 0, f = 0;
            //for (int i = 0; i < 1000; i++)
            //{
            //    //label1.Content = Estimate(2);
            //    int content = Estimate(5);
            //    s = "";

            //    switch (content)
            //    {
            //        case 0:
            //            a ++;
            //            break;
            //        case 1:
            //            b ++;
            //            break;
            //        case 2:
            //            c ++;
            //            break;
            //        case 3:
            //            d ++;
            //            break;
            //        case 4:
            //            f ++;
            //            break;

            //    }
            //    label1.Content = a;
            //    label2.Content = b;
            //    label3.Content = c;
            //    label4.Content = d;
            //    label5.Content = f;
            //}
        }
    }
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国模gogo一区二区大胆私拍| 国产精品久久久久久久av大片| 91亚洲一区精品| 国模视频一区二区| 欧美激情久久久| 中文字幕精品一区久久久久| 国产精品免费观看在线| 久久99久久亚洲国产| 日韩黄色在线免费观看| 欧美日本黄视频| 91国语精品自产拍在线观看性色| 久久久999精品| 黑人狂躁日本妞一区二区三区| 91人成网站www| 精品中文字幕视频| 视频在线观看一区二区| 国产日韩欧美视频在线| 成人午夜高潮视频| 成人国产在线视频| 亚洲第一区中文字幕| 黑人巨大精品欧美一区二区| 黄色成人av网| 亚洲成人精品视频在线观看| 丝袜亚洲欧美日韩综合| 国产精品免费久久久久影院| 成人av电影天堂| 国产精品永久免费视频| 91精品国产电影| 欧美精品久久久久久久| 亚洲最大的免费| 亚洲第一色在线| 亚洲国产另类 国产精品国产免费| 亚洲精品自拍偷拍| 成人中文字幕+乱码+中文字幕| 日韩av免费观影| 91精品国产色综合久久不卡98口| 国产成人精品网站| 日韩av有码在线| 亚洲人成网在线播放| 欧美丝袜第一区| 69久久夜色精品国产69乱青草| 国产一区二区三区在线视频| 另类美女黄大片| 欧美亚洲另类在线| 九色精品免费永久在线| 尤物九九久久国产精品的分类| 日韩视频一区在线| 91社影院在线观看| 久久九九国产精品怡红院| 日本久久精品视频| 2020欧美日韩在线视频| 日韩欧美在线中文字幕| 欧美视频裸体精品| 成人xvideos免费视频| 韩国福利视频一区| 亚洲三级 欧美三级| 精品久久久久久久久国产字幕| 成人黄色片网站| 国产一区二区黑人欧美xxxx| 8x拔播拔播x8国产精品| 福利微拍一区二区| 欧美一级黑人aaaaaaa做受| 国产一区二区丝袜高跟鞋图片| 亚洲伊人成综合成人网| 亚洲一区二区三区视频播放| 亚洲影院色在线观看免费| 欧美日韩免费看| 久久在线免费观看视频| 日韩高清有码在线| 亚洲福利影片在线| 国产成人啪精品视频免费网| 亚洲人在线视频| 色偷偷av一区二区三区乱| 97人人模人人爽人人喊中文字| 国产成人小视频在线观看| 中文字幕日韩免费视频| 亚洲精品720p| 另类天堂视频在线观看| 欧美成年人网站| 国产日韩欧美中文| 国产精品久久久久av免费| 亚洲第一av网| 91国偷自产一区二区三区的观看方式| 国产精品久久久久久亚洲调教| 国产中文字幕亚洲| 欧美尺度大的性做爰视频| 国产精品欧美亚洲777777| 久热精品在线视频| 91高清在线免费观看| 77777少妇光屁股久久一区| 亚洲一区二区三| 久久久97精品| 91免费电影网站| 欧美日韩激情美女| 欧美日韩国产在线播放| 欧美日韩国产在线看| 国产精品午夜视频| 欧美性猛交xxxxx水多| 尤物九九久久国产精品的分类| 26uuu另类亚洲欧美日本老年| 国产专区欧美专区| 欧美性xxxx| 亚洲欧洲国产精品| 久久精品精品电影网| 国产精品久久久久久久久影视| 亚洲激情电影中文字幕| 欧美性xxxx极品hd满灌| 97久久伊人激情网| 国产精品久久久久免费a∨| 国产成人福利网站| 久久成人精品一区二区三区| 91精品视频网站| 日韩中文字幕免费看| 国产精品一区=区| 国产成人在线一区| 国产欧美最新羞羞视频在线观看| 国产精品成熟老女人| 97国产精品免费视频| 欧美精品电影免费在线观看| 亚洲国产精品资源| 91久久精品日日躁夜夜躁国产| 国产有码在线一区二区视频| 中文字幕少妇一区二区三区| 日韩在线观看免费全集电视剧网站| 亚洲伊人久久大香线蕉av| 色狠狠av一区二区三区香蕉蜜桃| 国产精品扒开腿做| 亚洲欧美日韩成人| 国产精品99久久久久久久久| 91精品国产亚洲| 日韩精品免费一线在线观看| 国产精品女人网站| 亚洲精品少妇网址| 久久亚洲精品小早川怜子66| 中文字幕日韩精品在线观看| 国产偷国产偷亚洲清高网站| 欧美性猛交xxx| 91国在线精品国内播放| 亚洲精品永久免费精品| 国产综合久久久久| 日韩激情视频在线| 亚洲精品电影在线观看| 欧美xxxx做受欧美| 性欧美暴力猛交69hd| 亚洲国产欧美一区二区三区久久| 国产a∨精品一区二区三区不卡| 午夜精品久久久久久久白皮肤| 中文字幕日韩av电影| 亚洲欧美中文在线视频| 美女扒开尿口让男人操亚洲视频网站| 欧美视频在线观看免费网址| 欧美成人黑人xx视频免费观看| 久久精品中文字幕一区| 久久精品国产精品亚洲| 欧美激情亚洲视频| 日韩精品中文字幕久久臀| 亚洲国产精品久久精品怡红院| 97精品伊人久久久大香线蕉| 精品久久久久久亚洲精品| 欧美刺激性大交免费视频| 亚洲精品国产拍免费91在线| 日韩一区二区福利| 欧美电影在线观看高清| 久久亚洲精品网站|