ビンゴの結果を整形表示
Posted feedbacks - Scheme
シーケンスのshuffleはライブラリに追加しようかなあ。 今回のお題はshow-bingo関数で実装してます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | (use srfi-1)
(use srfi-27)
(use srfi-42)
(use gauche.sequence)
(use util.list)
(define (shuffle! seq)
(do-ec (: n (- (size-of seq) 1) 0 -1)
(let1 p (random-integer (+ n 1))
(unless (= p n)
(let1 tmp (ref seq n)
(set! (ref seq n) (ref seq p))
(set! (ref seq p) tmp)))))
seq)
(define (bingo n) (shuffle! (iota n 1)))
(define (show-bingo lis)
(do-ec (: row (slices (zip (iota (length lis) 1) lis) 10))
(begin
(do-ec (: p row) (format #t "~3d" (car p))) (newline)
(do-ec (: p row) (format #t "~3d" (cadr p))) (newline) (newline))))
|


raynstard
#3403()
Rating1/1=1.00
「重複無し乱数」で作ったbingo関数の結果を下のように「何番目の乱数か」とセットにして10個ずつ折り返して表示するコードを書いてください。
[ reply ]