【SICP练习】139 练习3.70

练习3-70

原文

代码

(define (merge-weighted s1 s2 weight)
  (cond ((stream-null? s1) s2)
    ((stream-null? s2) s1)
    (else
     (let ((cars1 (stream-car s1))
           (cars2 (stream-car s2)))
       (cond ((< (weight cars1) (weight cars2))
          (cons-stream cars1
                   (merge-weighted (stream-cdr s1) s2 weight)))
         ((= (weight cars1) (weight cars2))
          (cons-stream cars1
                   (merge-weighted (stream-cdr s1) s2 weight)))
         (else (cons-stream cars2
                    (merge-weighted s1 (stream-cdr s2)
                            weight))))))))

(define (weighted-pairs s1 s2 weight)
  (cons-stream (list (stream-car s1) (stream-car s2))
           (merge-weighted (stream-map (lambda (x) (list (stream-car s1)
                                 x))
                       (stream-cdr s2))
                   (weighted-pairs (stream-cdr s1) (stream-cdr
                                s2)
                           weight)
                   weight)))

(define weight1 (lambda (x) (+ (car x) (cadr x))))

(define pairs1 (weighted-pairs integers integers weight1))

(define weight2 (lambda (x) (+ (* 2 (car x)) (* 3 (cadr x)) (* 5 (car x)
                                   (cadr x)))))

(define (divide? x y) (= (remainder y x) 0))

(define stream235 (stream-filter (lambda (x) (not (or (divide? 2 x)
                              (divide? 3 x)
                              (divide? 5 x))))
                 integers))

(define pairs2 (weighted-pairs stream235 stream235 stream235 weight2))

时间: 2024-12-23 18:33:08

【SICP练习】139 练习3.70的相关文章

PHP+jQuery 注册模块的改进之二

接<PHP+jQuery 注册模块的改进之一>继续修改: ①在注册成功后返回登录邮件页面( maillogin.php ),在页面中用户可以点击链接跳转到自己注册邮箱的登录页面,可以再次发送激活链接: ②给激活链接设置有效期,过了有效期点击激活连接,会跳转页面让用户选择再次发送邮件或者返回注册页:再次发送邮件后,进邮箱点击链接激活: ③点击重新发送激活连接,不跳转页面,在当前页无刷新弹出通知:已重新发送链接,几秒钟之后通知消失: ④点击更换收件邮箱,跳转至注册页 1.点击邮箱链接跳转至相应邮箱

数据库连接用户名和密码加密

我们的工程项目往往是使用云数据库的,连接使用账号密码就行了,但是程序里直接有密码是十分不安全的 这里我参考了别人的博客对这个问题进行解决 1. 需求背景 我们在开发应用时,需要连接数据库,一般把数据库信息放在一个属性配置文件中,比如java的mysql连接往往是这样 jdbc.properties的代码 jdbc.url=jdbc\:mysql\://127.0.0.1/messageboards jdbc.username=root jdbc.password=root C#连接oracle的

【SICP练习】97 练习2.70

练习2.70 既然要解码,那必须先将树给定义好了. (define tree (generate-huffman-tree '((A 2) (NA 16) (BOOM 1) (SHA 3) (GET 2) (YIP 9) (JOB 2) (WAH 1)) 然后就是来编码题目中给出的歌词了. (define message-1 '(Get a job)) (define message-2 '(Sha na na na na na na na na)) (define message-3 '(Wa

【SICP练习】70 练习2.41

 练习2.41 这道题其实就是书中素数示例的变种,其本质是一样的.因此我们也按照同样的次序来完成这个过程.首先第一步,我们来完成生成3个相异整数构成的三元组.但在上一题中我们已经写出了能够产生2个相异整数构成的二元组了.因此我们只要多产生一个i,让其与产生的二元组结合,便能产生三元组了.那么,开工吧. (define (unique-triples n) (flatmap (lambda (i) (map (lambda (j) (cons i j)) (unique-pairs (- i

【Java EE 学习第70天】【数据采集系统第二天】【Action中User注入】【设计调查页面】【Action中模型赋值问题】【编辑调查】

一.Action中User注入问题 Action中可能会经常用到已经登陆的User对象,如果每次都从Session中拿会显得非常繁琐.可以想一种方法,当Action想要获取User对象的时候直接使用,这种方法还是得需要借助拦截器的力量,直接在登录拦截器中实现即可,但是登陆拦截器怎么知道该Action想要获取User对象呢?这就需要给Action加上一个接口,如果该Action是该接口的实现类,则表示该Action想要获取User对象.接口仿照HttpRequestAware接口的形式,名字为用户

前端工程师基础培训_问答(139邮箱)

一.问答题: (1)139邮箱资源服务器与缓存相关的响应首部是怎么配置的? (2)登录139邮箱web2.3,在浏览器有缓存的情况下,刷新页面,浏览器会不会重新发送请求获取静态资源?如果会,请列出与缓存相关的请求首部以及响应状态码:如果不会,请说明原因. (3)请指出Cache-Control与Expires的区别 (4)新功能上线后,如何清空浏览器的缓存,让用户获取最新的资源文件? 问题1.问题2 可用Fiddler抓包然后截图说明. 二.编程题: 请写一个页面,并封装相应的JS代码,完成13

SICP 锻炼 (1.40)解决摘要

SICP 锻炼1.40 是一个休闲的工作非常easy,但它看起来很复杂,单的一道题. 题目原题例如以下: 请定义一个过程cubic, 它和newtons-method过程一起使用在以下形式的表达式里: (newtons-method (cubic a b c) 1) 能逼进三次方程 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2V5Ym9hcmRPVEE=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/d

LibreOJ #139 树链剖分 [树链剖分,线段树]

题目传送门 树链剖分 题目描述 这是一道模板题. 给定一棵 nnn 个节点的树,初始时该树的根为 111 号节点,每个节点有一个给定的权值.下面依次进行 mmm 个操作,操作分为如下五种类型: 换根:将一个指定的节点设置为树的新根. 修改路径权值:给定两个节点,将这两个节点间路径上的所有节点权值(含这两个节点)增加一个给定的值. 修改子树权值:给定一个节点,将以该节点为根的子树内的所有节点权值增加一个给定的值. 询问路径:询问某条路径上节点的权值和. 询问子树:询问某个子树内节点的权值和. 输入

JAVA入门到精通-第70讲-学生管理系统2-增删改

-完成一个mini版本学生管理系统 jude软件:很好使的,安装一下就可以用了: -学生管理系统的添加 .修改.删除.上下页分页 ---------------------------------------------- 上面是一个流布局,JPanel 下面是一个流布局,JPanel 中间是Border布局,边界布局,CENTER JTextField jtf; 先加JLable--->Jtf文本域->JButton按钮 ------------------------- mis 系统:信息