2013-11-10から1日間の記事一覧
繰り返し処理を定義する (define zero (lambda (s) (lambda (z) z))) (define one (lambda (s) (lambda (z) (s z)))) (define two (lambda (s) (lambda (z) (s(s z))))) (define three (lambda (s) (lambda (z) (s(s(s z)))))) 0にadd1を2回適用する ((two …
Last In First Out (LIFO) (define stack '()) (define set-stack (lambda () (set! stack '()) 'done)) (define push (lambda (x) (cond ((null? stack) (set! stack (list x))) (else (set! stack (cons x stack)))) stack)) (define pop (lambda () (let …
順列・組み合わせ・重複組み合わせの通りの数はなので (define perm (lambda (n r) (cond ((= r 0) 1) ((= r 1) n) (else (* n (perm (- n 1) (- r 1)))) ))) (define comb (lambda (n r) (cond ((= r 0) 1) ((= r n) 1) (else (+ (comb (- n 1) (- r 1)) (c…