1.练习2.41

(define (seprate-except x except)(filter (lambda (couple) (let ((first (car couple))(second (cadr couple)))(and (not (= first except))(not (= second except))(not (= first second)))))(map (lambda (n) (list n (- x n)))(enumerate-interval 1 (- x 1)))))(define (flatmap proc seq)(accumulate append '() (map proc seq)))(define (seprate-to-three n)(flatmap (lambda (x) (map (lambda (y) (cons x y)) (seprate-except (- n x) x)))(enumerate-interval 1 (- n 1))))

2.练习2.42

(define empty-board '())(define (adjoin-position new-row k rest-of-queens)(cons (list k new-row) rest-of-queens))(define (safe? k positions)(define (check-safe col row rest-positions)(if (null? rest-positions)true(let ((first-position-col (car (car rest-positions)))(first-position-row (cadr (car rest-positions)))(remain-positions (cdr rest-positions)))(and (not (= col first-position-col))(not (= row first-position-row))(not (= (abs (- col first-position-col))(abs (- row first-position-row))))(check-safe col row remain-positions)))))(if (null? positions)true(let ((col (car (car positions)))(row (cadr (car positions)))(rest (cdr positions)))(if (null? rest)true(check-safe col row rest)))))

3.练习2.43

因为重复计算k-1的皇后问题。

4.练习2.44

(require (planet "sicp.ss" ("soegaard" "sicp.plt" 2 1)))(define (up-split painter n)(if (= n 0)painter(let ((smaller (up-split painter (- n 1))))(below painter (beside smaller smaller)))))

5.练习2.45

(define (split action1 action2)(lambda (painter n)(if (= n 0)painter(let ((smaller ((split action1 action2) painter (- n 1))))(action1 painter (action2 smaller smaller))))))

6.练习2.46

(define (make-vect x y)(cons x y))(define (xcor-vect v)(car v))(define (ycor-vect v)(cdr v))(define (add-vect v1 v2)(make-vect (+ (xcor-vect v1)(xcor-vect v2))(+ (ycor-vect v1)(ycor-vect v2))))(define (sub-vect v1 v2)(make-vect (- (xcor-vect v1)(xcor-vect v2))(- (ycor-vect v1)(ycor-vect v2))))(define (scale-vect v s)(make-vect (* s (xcor-vect v))(* s (ycor-vect v))))

7.练习2.47

(define (make-frame-list origin edge1 edge2)(list origin edge1 edge2))(define (make-frame-cons origin edge1 edge2)(cons origin (cons edge1 edge2)))(define (origin-frame-list frame)(car frame))(define (edge1-frame-list frame)(cadr frame))(define (edge2-frame-list frame)(caddr frame))(define (origin-frame-cons frame)(car frame))(define (edge1-frame-cons frame)(cadr frame))(define (edge2-frame-cons frame)(cddr frame))

练习2.41-练习2.47相关推荐

  1. 第十篇学会编写python代码_Python之路,第十篇:Python入门与基础10

    python3 函数 函数(function) 什么是函数: 函数是可以重复执行的代码块,可以重复使用: 作用: 定义用户级的函数:实现了一个代码块的封装: 语法: def 函数名(参数列表): 语句 ...

  2. 珍藏版:3万字详解mRNA疫苗

    来源:周观宇论 撰文:邓周宇 摘要 新冠疫情的持续凸显了疫苗的重要性以及全球对疫苗的迫切需求.借此契机,mRNA疫苗登上了舞台,并以极高的保护率成为所有新冠疫苗种类中热度最高的C位选择.本报告介绍分析 ...

  3. sklearn之svm-葡萄酒质量预测(2)

    继续读取csv基础 true_values : list, default None 认为为True的值 false_values : list, default None 认为为False的值 sk ...

  4. lingo 嵌套@for或嵌套@sum

    嵌套@for或嵌套@sum 对集合中的i单独求和,例如集合Xij,求Xi1+Xi2+Xi3-+Xin sets: r/1..5:y; c/1..5/:; link(r,c):x; endsets @f ...

  5. python 迭代器 生成器 解析

    迭代器什么是迭代器迭代器是访问可迭代对象的工具迭代器是指iter(obj)函数返回的对象(实例)迭代器可以用next(it)函数获取可迭代对象的数据 迭代器函数iter和next iter(itera ...

  6. 木桶排序算法_这才是你想要桶排序

    前面说的 昨天发的桶排序文章,有同学回复,确实有比较精明的同学,文章就是想提出一个比较简单的思路,本来想给自己的排序方式写个名字叫做"木桶排序",这篇文章讲解真正的桶排序,结合前面 ...

  7. 上海大学c语言基础题目,求c语言大神学长学姐解答题目

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 [问题描述]验证哥德巴赫猜想:任何一个大于6的偶数均可表示为两个素数之和。例如,6=3+3,8=3+5,-,18=5+13。要求将6~100之间的偶数都表 ...

  8. python画玫瑰花的代码_python绘制玫瑰的实现代码

    今天为大家介绍一个Python绘制一朵漂亮的玫瑰花,用python的turtle库这个绘画库是非常简单的,但是还是需要你测试路径方向,慢慢调试,下面的代码具有一定的参考价值 利用python绘制一朵玫 ...

  9. 用python画玫瑰花代码-python绘制玫瑰的实现代码

    今天为大家介绍一个Python绘制一朵漂亮的玫瑰花,用python的turtle库这个绘画库是非常简单的,但是还是需要你测试路径方向,慢慢调试,下面的代码具有一定的参考价值 利用python绘制一朵玫 ...

  10. python中常见的流程结构-【Python2】04、Python程序控制结构

    一.python的表达式和语句 1.表达式 "某事", 1个或多个操作数,和0个以上的操作符组成的序列就是表达式 2.语句 "做某事" 程序执行的操作都是语句来 ...

最新文章

  1. 关于:last-child的一点见解
  2. 2018年计算机相关学术会议,2018年信息与计算机技术国际学术会议(IEEE出版)
  3. 使用ros标定相机的内参和外参
  4. 【酒桌文化】座次、上菜、喝酒的规矩
  5. JavaScript进阶部分笔记
  6. Linux移植随笔:git的使用
  7. opengl显示英文_OpenGL-Using Shaders(使用Shader)
  8. Vue使用html2Canvas和canvas2Image下载二维码会模糊的问题解决方法
  9. AttributeError: module ‘onnxruntime‘ has no attribute ‘InferenceSession‘
  10. 玩转 MPlayer(3)
  11. MySQL(3)-----DML数据库操作(上)
  12. 学生信息的顺序表存储
  13. SpringMVC【校验器、统一处理异常、RESTful、拦截器】
  14. 测试用例设计之正交试验
  15. sonar打包出现的问题The forked VM terminated without saying properly goodbye. VM crash or System.exit called
  16. postfix dovecot邮件服务器搭建
  17. 网络工程师面试题(面试必看)(3)
  18. 网站故障和安全事件的应急预案
  19. hive java.net.SocketTimeoutException: Read timed out 问题解
  20. uniapp将聊天页面定位始终定位到最底部展示

热门文章

  1. 2021年底Alexa全球流量最大的50个网站
  2. iqooz1软件打开速度测试,iqooz1深度使用评测-iqooz1全面评测
  3. 搭建EMQX服务器,将EMQX挂载到阿里云轻量级服务器
  4. 我的世界服务器如何修改武器,我的世界:自定义装备属性,让你自己动手来“调节”装备属性!...
  5. Flutter变换Transform
  6. 卜若的代码笔记-数据结构系列-第十章:栈一.顺序栈(数组栈)
  7. Connor学Android - RootView、DecorView、MeasureSpec
  8. 应用html5画布Apicss制作,程序设计HTML5 Canvas API
  9. 七牛 js JDK使用 - 上传APP 1
  10. 北京/杭州内推 | 阿里达摩院开放视觉智能实验室招聘研究型实习生/23届春招