[問題] 亂數...可以解釋一下嗎?

看板C_Sharp (C#)作者 (abcde)時間18年前 (2007/07/24 22:34), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/1
產生1~42不重複的亂數..模擬樂透開獎情形.. int [] num = num int[8]; Random rnd = new Random(); int getdata; bool reapeatdata; int tot = 1 do { getdata = rnd.Next(1,43); //取得1~42亂數 repeatdata = false; //先假設不重複 for(int i = 1;i<=tot;i++) //這邊不懂,為何 i<=tot { if(getdata==num[i]) // 因為i=1,所以會跑回圈,進入到if(getdata==num[i]) { 所以getdata(26 亂數產生) = num[1]..是這樣解釋嗎? reapeatdata = true; break; } } if(reapeatdata == false //因為i從1開始,i++,i從2進入回圈..但i<=tot { 不符合條件,所以跳出回圈執行這一行... num[tot] = getdata; 因為reapeatdata == false(一開始預設的) tot++; num[1] = getdata(26) } tot = 2 while(tot<8) // 因為tot = 2 符合while 再開始回圈 對於上面兩個if敘述小弟很模糊..... 小弟想問num[0]在哪個點會出現? 或是可以把小地解釋不隊的地方改一下... 小弟非常想釐清觀念..謝謝.... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.70.143.144

07/25 01:45, , 1F
for那在判斷有沒有跟前面重複, 重複reap = true
07/25 01:45, 1F

07/25 01:47, , 2F
num[0]應該沒用到
07/25 01:47, 2F
文章代碼(AID): #16fWtPG_ (C_Sharp)
文章代碼(AID): #16fWtPG_ (C_Sharp)