成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談C#隨機數發生器

開發 后端
本文介紹所謂的C#隨機數發生器都是通過一定的算法對事先選定的隨機種子做復雜的運算,用產生的結果來近似的模擬完全隨機數,這種隨機數被稱 作偽隨機數。

我們在做能自動生成試卷的考試系統時,常常需要隨機生成一組不重復的題目,在.net Framework中提供了一個專門用來產生隨機數的類System.Random。

對于隨機數,大家都知道,計算機不 可能產生完全隨機的數字,所謂的C#隨機數發生器都是通過一定的算法對事先選定的隨機種子做復雜的運算,用產生的結果來近似的模擬完全隨機數,這種隨機數被稱 作偽隨機數。偽隨機數是以相同的概率從一組有限的數字中選取的。所選數字并不具有完全的隨機性,但是從實用的角度而言,其隨機程度已足夠了。偽隨機數的選 擇是從隨機種子開始的,所以為了保證每次得到的偽隨機數都足夠地“隨機”,隨機種子的選擇就顯得非常重要。如果隨機種子一樣,那么同一個C#隨機數發生器產生 的隨機數也會一樣。一般地,我們使用同系統時間有關的參數作為隨機種子,這也是.net Framework中的C#隨機數發生器默認采用的方法。

我們可以使用兩種方式初始化一個C#隨機數發生器:

***種方法不指定隨機種子,系統自動選取當前時間作為隨機種子:

  1. Random ro = new Random(); 

第二種方法可以指定一個int型參數作為隨機種子:

  1. int iSeed=10;  
  2. Random ro = new Random(10);  
  3. long tick = DateTime.Now.Ticks;  
  4. Random ran = new Random((int)(tick & 0xffffffffL) | (int) (tick >> 32)); 

用它來檢測生成的隨機數是否有重復,如果取出來的數字和已取得的數字有重復就重新隨機獲取。

  1. Random ra=new Random(unchecked((int)DateTime.Now.Ticks));  
  2. int[] arrNum=new int[10];  
  3. int tmp=0;  
  4. int minValue=1;  
  5. int maxValue=10;  
  6. for (int i=0;i<10;i++)  
  7. {  
  8. tmp=ra.Next(minValue,maxValue); //隨機取數  
  9. arrNum=getNum(arrNum,tmp,minValue,maxValue,ra); //取出值賦到數組中  
  10. }  
  11. .........  
  12. .........  
  13. public int getNum(int[] arrNum,int tmp,int minValue,int maxValue,Random ra)  
  14. {  
  15. int n=0;  
  16. while (n<=arrNum.Length-1)  
  17. {  
  18. if (arrNum[n]==tmp) //利用循環判斷是否有重復  
  19. {  
  20. tmp=ra.Next(minValue,maxValue); //重新隨機獲取。  
  21. getNum(arrNum,tmp,minValue,maxValue,ra);//遞歸:如果取出來的數字和已取得的數字有重復就重新隨機獲取。  
  22. }  
  23. n++;  
  24. }  
  25. return tmp;  

【編輯推薦】

  1. 定義C#接口學習經驗
  2. C# ListBox學習筆記
  3. 操作C# Dataset介紹
  4. C# ODBC訪問MySQL數據庫
  5. 淺析C#和Java不同點
責任編輯:佚名 來源: BlogJava
相關推薦

2021-07-04 10:45:44

量子科技量子計算量子通信

2012-03-22 09:31:14

Java

2014-05-13 10:21:00

2024-01-25 11:32:21

2010-02-01 17:02:53

C++產生隨機數

2019-09-11 10:09:00

Java虛擬機算法

2009-12-08 13:07:57

PHP函數mt_sra

2009-08-20 18:30:33

C# ReaderWr

2011-09-21 10:56:31

C#結構

2024-11-01 15:51:06

2009-07-06 15:11:18

Java 隨機數

2009-08-07 11:26:53

C#數組結構

2009-08-12 11:24:25

C# String對象

2009-08-31 09:37:09

C# Employee

2009-08-19 17:12:18

C# Connecti

2009-08-26 13:15:38

C#選擇控制

2009-08-20 10:24:52

C#開發WinForm

2009-08-14 17:58:05

C#接口方法

2009-08-25 16:16:43

C# oledbcon

2009-08-26 15:46:01

C#匿名類型
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久久岛一牛影视 | 国产成人综合久久 | 国产成人一区二区三区久久久 | 精品国产一区二区国模嫣然 | 91视频进入 | 欧美激情五月 | 自拍偷拍3p | 欧美在线一区二区三区 | 免费观看一级毛片视频 | 日韩精品在线观看一区二区三区 | 999视频| a在线观看免费 | 日本三级全黄三级三级三级口周 | 欧美一区二区成人 | 观看av| 91亚洲精选| 国偷自产av一区二区三区 | www成人啪啪18 | 欧美色综合 | 999久久久久久久 | www国产成人免费观看视频,深夜成人网 | 日韩免费视频一区二区 | 欧美视频成人 | 国产在线精品一区二区三区 | 久草高清视频 | 日本三级全黄三级三级三级口周 | 欧美一区二区三区在线观看 | 日韩在线视频免费观看 | 男女视频免费 | 欧美精品一区三区 | 久久国产精品亚洲 | 国产精品美女www | 欧美一区二 | 99精品视频免费观看 | 天天操天天操 | 日韩在线播放一区 | 色综合久久久 | 午夜精品久久久久久久久久久久久 | 国产一区二区三区色淫影院 | 91精品国产综合久久小仙女图片 | 99热首页 |