SICP 2.20 2.21 2.23

2.20

(define (same-parity . lst)
  (define is-odd (odd? (car lst)))
  (define (proc l)
    (if (null? l)
        l
        (let ((x (proc (cdr l)))
              (y (car l)))
          (if (equal? (odd? y) is-odd)
              (cons y x)
              x))))
  (proc lst))

2.21

(define (square-list items)
  (if (null? items)
      items
      (cons (expt (car items) 2)
            (square-list (cdr items)))))

(define (square-list2 items)
  (map (lambda (x) (* x x)) items))

2.23

(define (for-each f lst)
  (if (null? lst)
      #t
      (cond (else (f (car lst))
                  (for-each f (cdr lst))))))

 

转载于:https://my.oschina.net/guzhou/blog/725584

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值