shiro #30(2007/06/30 21:40 GMT) [ Scheme ] Rating0/0=0.00
Scheme (Gauche) で。素直に。 実行例: gosh> (pick 100 4) (12 17 72 45) gosh> (pick 100 7) (30 68 74 27 58 41 7)
1 2 3 4 5 6 7 8 9 10
(use srfi-1) (use srfi-27) (random-source-randomize! default-random-source) (define (pick n m) (let loop ((lis (iota n)) (m m) (r '())) (cond ((zero? m) r) ((null? lis) (error "pool too small")) (else (let1 picked (list-ref lis (random-integer (length lis))) (loop (delete picked lis =) (- m 1) (cons picked r)))))))
Rating0/0=0.00-0+
[ reply ]
shiro
#30()
[
Scheme
]
Rating0/0=0.00
Rating0/0=0.00-0+
[ reply ]