看板 Fortran 關於我們 聯絡資訊
初步看,好像 M大大的方法比較好。 我會仔細的再 評估看看。 我的排列,組合,機率,演算法 BIGO 估算, 學的都不是很靈光, 我會再加油! 這個方法,可以用在 很多地方。 例如,1 到 42 取五個 亂數,不重複。 還有 這邊的洗牌的動作,等等。。。 ※ 引述《mantour (朱子)》之銘言: : 為什麼要洗這麼多次呀 : 這樣應該就可以了吧 : ! a(0) ~ a(51) : for i=0,50 : 產生一個 i ~ 51 的亂數 : swap(a(r), a(i)) : 想像成本來是52個人坐一排 : 然後重抽一輪新的座號 : ※ 引述《sjgau (sjgau)》之銘言: : : 你的意思,應該是 隨機洗牌。 : : 假設你原本的資料有 52筆, : : 存放在 一個 一維陣列 : : integer a(52) : : ! a(1) . . . a(52) : : for i=1 to 300 do : : ! 隨機產生兩個 亂數 n1, n2, >= 1, and <= 52 : : ! 交換 a(n1) 和 a(n2) 的值 : : end do -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.231.104.108