[問題] 20個人中隨機抽取10個人

看板Fortran作者 (逃離)時間14年前 (2010/04/10 21:27), 編輯推噓0(003)
留言3則, 1人參與, 最新討論串1/4 (看更多)
我的問題是 如果我想在20個人中隨機抽取10人 要怎麼寫程式呢? 我有想到 do i=1,20,1 call random_number(ran) if (ran <= 10/20 .and. count<20) then item(i)=1 !表示被抽取 count=count+1 endif end do 這樣是用機率的方式去抽,而且保證不會超過10位, 但我是要抽取”切確的10位”,機率的方式可能其實抽取不到10位。 請問還有更好的方法嗎? 相同的也可以套用在1000人中隨機抽取30位 或是10000人中隨機抽取350位 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.123.185.83

04/10 23:42, , 1F
先想如果只要抽一位你會怎麼抽
04/10 23:42, 1F

04/10 23:44, , 2F
抽十個人就是抽十次,每次抽完把抽過的移走或標記起來,下
04/10 23:44, 2F

04/10 23:44, , 3F
次從剩下的裡面再抽一個
04/10 23:44, 3F
文章代碼(AID): #1Bm7o_ye (Fortran)
文章代碼(AID): #1Bm7o_ye (Fortran)