(wat-aro)

生きてます

2015-10-21から1日間の記事一覧

SICP 問題 2.39

(define (fold-left op initial sequence) (define (iter result rest) (if (null? rest) result (iter (op result (car rest)) (cdr rest)))) (iter initial sequence)) (define (fold-right op initial sequence) (if (null? sequence) initial (op (car s…

SICP 問題 2.38

(define (fold-left op initial sequence) (define (iter result rest) (if (null? rest) result (iter (op result (car rest)) (cdr rest)))) (iter initial sequence)) (define (fold-right op initial sequence) (if (null? sequence) initial (op (car s…

SICP 問題 2.37

(define (dot-product v w) (accumulate + 0 (map * v w))) (define (matrix-*-vector m v) (map (lambda (x) (dot-product x v)) m)) (define (transpose mat) (accumulate-n cons nil mat)) (define (matrix-*-matrix m n) (let ((cols (transpose n))) (m…

schemeでmapを書いてみた

SICPの問題 2.37をやろうとしたところ,この本で定義した一つのリストのみに対応したmapではなく 複数のリストに対応したmapが必要だったので自分で書いてみました. (define (foldr op init lst) (if (null? lst) init (op (car lst) (foldr op init (cdr l…

SICP 問題 2.36

;; accumulate (define (accumulate op initial sequence) (if (null? sequence) initial (op (car sequence) (accumulate op initial (cdr sequence))))) ;; accumulate-n (define (accumulate-n op init seqs) (if (null? (car seqs)) nil (cons (accumula…

SICP 問題 2.35

;;accumulate (define (accumulate op initial sequence) (if (null? sequence) initial (op (car sequence) (accumulate op initial (cdr sequence))))) ;;enumerate-tree (define (enumerate-tree tree) (cond ((null? tree) nil) ((not (pair? tree)) (li…

SICP 問題 2.34

(define (accumulate op initial sequence) (if (null? sequence) initial (op (car sequence) (accumulate op initial (cdr sequence))))) (define (horner-eval x coefficient-sequence) (define (iter lis res) (cond ((null? lis) res) (else (iter (cdr…