作者janewinnie (逃离)
看板Fortran
标题[问题] 20个人中随机抽取10个人
时间Sat Apr 10 21:27:24 2010
我的问题是 如果我想在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
1F:→ mantour:先想如果只要抽一位你会怎麽抽 04/10 23:42
2F:→ mantour:抽十个人就是抽十次,每次抽完把抽过的移走或标记起来,下 04/10 23:44
3F:→ mantour:次从剩下的里面再抽一个 04/10 23:44