2019-04-26から1日間の記事一覧

順列を求める(個数だけ) その後

寝不足のまま続きを考えましたw (define (iter-3 ans rests rests1 count) (if (null? rests) count (iter-3 ans (cdr rests) rests1 (let ((x (car rests))) (+ count (iter-2 (append ans (cons x nil)) x (remove x rests1))))))) (define (iter-2 ans n…

順列を求める(個数だけ)

個数だけ求めるなら、これで十分ですかね。 (define (iter-2 ans num rests) (if (null? rests) (if (check ans) 1 0) (if (not (check ans)) 0 (apply + (map (lambda (x) (iter-2 (append ans `(,x)) x (remove x rests))) rests))))) (define (iter num c…

逆行列を求める 数式の改良

数式を少し改良しました。 (define (sort-sum-values lis) (let ((num (apply + (filter number? lis))) (vals (filter symbol? lis))) (if (= num 0) (sort vals) (append `(,num) (sort vals))))) (define (sort-product-values lis) (let ((num (apply * …

順列を求める

ja.stackoverflow.com暇なので解いてみた。 (define nil '()) (define (enumerate-interval low high) (if (> low high) nil (cons low (enumerate-interval (+ low 1) high)))) (define (accumulate op initial seq) (if (null? seq) initial (op (car seq)…