タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

lispとcodegolfに関するanotherのブックマーク (1)

  • Scheme どう書く?的 - higepon blog

    整列済みの number のリストがある。 '(1 3 4 5 6 12 13 15) このようなリストで数が連続している部分は '(1 2 3) -> '(1 . 3) のように両端のみを書くような記法を導入する。 最初の例のリストであれば以下のようになる。 '(1 (3 . 6) (12 . 13) 15) このようなリストの変換をするコードを書きたい。 自分の答えは↓だが、いまいちスマートではない。もっとかっこいいのを思いついたら教えてください。 (define (compact-number-list lst) (define (exact-next-number? a b) (cond [(and (number? a) (number? b)) (= (- b a) 1)] [(and (pair? a) (number? b)) (exact-next-number? (cd

    Scheme どう書く?的 - higepon blog
    another
    another 2008/09/30
    (defun a(f z l)(cons(if(= f z)f(cons f z))l)) (defun g(l x)(s(car l)(car l)(cdr l)x)) (defun s(f z l i)(cond((eq()l)(a f z i))((=(car l)(1+ z))(s f(car l)(cdr l)i))(t(g l(a f z i))))) (defun c(l)(reverse(g l()))) (c'(1 3 4 5 6 12 13 15)) ; in Emacs Lisp. / irieさんに負けた。
  • 1