2009/05/10

[Scheme][.NET]IronSchemeでCombination(組み合わせ)


ただ以前書いたコードを実行してみただけですが・・・。

WS0730
(define combination
  (lambda (r l)
    (cond
     ((null? l) '())
     ((or (zero? r)(> r (length l))) '())
     ((= r 1)(map list l))
     ((= r (length l))(list l))
     (else (append (map (lambda (n)(cons (car l) n))
                        (combination (- r 1)(cdr l)))
                   (combination r (cdr l)))))))
append、map、length、zero?、listなんかの手続きも普通に定義済みなんですねー。

Scheme手習い

0 件のコメント:

コメントを投稿