n人中m人が当選するくじ
Posted feedbacks - Bash
see: [ruby-list:40892]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #!/bin/bash
function randsample() {
local n=$1
local m=$2
local -a array
local -i i j tmp
for ((i = 0; i < n; i++)) {
array[i]=$i
}
# shuffle
for ((i = 0; i < n; i++)) {
((j = RANDOM % (i + 1),
tmp = array[i], array[i] = array[j], array[j] = tmp))
}
# print top m
for ((i = 0; i < m && i < n; i++)) {
echo ${array[i]}
}
}
randsample 100 10
|
GNU coreutilsのshufで。
1 2 3 4 5 6 | #!/bin/sh
randsample() {
seq $1 | shuf | head -n $2
}
randsample 100 10
|



にしお
#3360()
Rating0/0=0.00
[ reply ]