【SICP练习】144 练习3.82

练习3-82

原文

Exercise 3.82. Redo exercise 3.5 on Monte Carlo integration in terms of streams. The stream version of estimate-integral will not have an argument telling how many trials to perform. Instead, it will produce a stream of estimates based on successively more trials.

代码


 (define (random-in-range low high)
         (let ((range (- high low)))
                 (+ low (* (random) range))))
 (define (random-number-pairs low1 high1 low2 high2)
         (cons-stream (cons (random-in-range low1 high1) (random-in-range low2 high2))
                                 (random-number-pairs low1 high1 low2 high2))) 

 (define (monte-carlo experiment-stream passed failed)
         (define (next passed failed)
                 (cons-stream (/ passed (+ passed failed))
                                          (monte-carlo (stream-cdr experiment-stream)
                                                                   passed
                                                                   failed)))
         (if (stream-car experiment-stream)
                 (next (+ passed 1) failed)
                 (next passed (+ failed 1)))) 

 (define (estimate-integral p x1 x2 y1 y2)
         (let ((area (* (- x2 x1) (- y2 y1)))
               (randoms (random-number-pairs x1 x2 y1 y2)))
                 (scale-stream (monte-carlo (stream-map p randoms) 0 0) area))) 

 (define (sum-of-square x y) (+ (* x x) (* y y)))
 (define f (lambda (x) (not (> (sum-of-square (- (car x) 1) (- (cdr x) 1)) 1))))
 (define pi-stream (estimate-integral f 0 2 0 2))
时间: 2024-09-30 10:12:09

【SICP练习】144 练习3.82的相关文章

教育网Ip段

1.51.0.0|1.51.255.255 1.184.0.0|1.185.255.255 42.244.0.0|42.247.255.255 49.52.0.0|49.55.255.255 49.120.0.0|49.123.255.255 49.140.0.0|49.141.255.255 49.208.0.0|49.209.255.255 58.154.0.0|58.155.255.255 58.192.0.0|58.193.255.255 58.194.0.0|58.195.255.25

yjtjujtuk

http://www.xinshipu.com/chufang/812002/ http://www.xinshipu.com/chufang/%e8%bf%b7%e9%ad%82%e9%a6%99%e6%80%8e%e4%b9%88%e4%b9%b0%e5%88%b0/ http://www.xinshipu.com/chufang/812004/ http://www.xinshipu.com/chufang/%e5%93%aa%e9%87%8c%e8%b4%ad%e4%b9%b0%e8%8

蒙颗科淋乜pj9922980lbq

http://www.qiushibaike.com/tag/%e8%bf%9e%e4%ba%91%e6%b8%af%e5%93%aa%e9%87%8c%e6%9c%89%e5%8d%96%e5%82%ac%e6%83%85%e8%8d%af%2b%ef%bd%91%ef%bc%92%ef%bc%98%ef%bc%95%ef%bc%98%ef%bc%92%ef%bc%99%ef%bc%91%ef%bc%92%ef%bc%90.http://www.qiushibaike.com/tag/%e5%

MVC扩展ActionInvoker,自定义ActionInvoker,根据请求数据返回不同视图

今天有幸被召回母校给即将毕业的学弟学妹们讲我这两年的工作史,看了下母校没啥特别的变化,就是寝室都安了空调,学妹们都非常漂亮而已..好了不扯蛋了,说下今天的主题吧.这些天我在深度定制语法高亮功能的同时发现了博客园提供的一些有意思的函数,甚至有几个博客园都没用到,我也不知道怎么才能触发那些功能..打开这个js就可以看到很多好用的东西了,虽然写的不怎么样,但是至少有这些功能. ps: 推荐安装一个代码格式化的插件,否则一坨看着蛋疼.比如第一个就是 log,方便调试. http://www.houzz.

[原创]java WEB学习笔记82:Hibernate学习之路---映射 一对多关联关系,配置,CRUD方法测试及注意点

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

TopCoder Practice SRM 144 Div 1

1 #include <iostream> 2 #include <vector> 3 #include <string> 4 #include <sstream> 5 #include <algorithm> 6 7 class Lottery 8 { 9 public: 10 std::vector<std::string> sortByOdds(std::vector<std::string> rules) 11 {

82.管道实现cgi内存多线程查询

总体思路就是客户端写入要查询的数据到管道中,服务器端从管道读取,然后写入随机文件,再把文件名写入管道,然后客户端再读取文件 服务器端 设置缓冲区大写,设置管道名字,以及标识有多少个线程等 1 //设置缓存区大小 2 #define SIZE 4096 3 //最多有多少线程 4 #define MAX_CONNECT 128 5 //一开始有10个线程存在 6 int startthreadnum = 10; 7 //管道名字 8 char pipename[128] = "\\\\.\\Pip

144个stm32开发相关的问题,看你了解几个

1. SYSCLK时钟源有三个来源:HSI RC.HSE OSC.PLL; 2. MCO[2:0]可以提供4源不同的时钟同步信号; 3. GPIO口貌似有两个反向串联的二极管用作钳位二极管; 4. 总线矩阵采用轮换算法对系统总线和DMA进行仲裁 5. ICode总线,DCode总线.系统总线.DMA总线.总线矩阵.AHB/APB桥 6.在使用一个外设之前,必须设置寄存器RCC_AHBENR来打开该外设的时钟 7.数据字节以小端存储形式保存在存储器中 8. 内存映射区分为8个大块,每个块为512M

LC 144. / 94. / 145. Binary Tree Preorder/ Inorder/ PostOrder Traversal

题目描述 144. Binary Tree Preorder Traversal 94. Binary Tree Inorder Traversal 145. Binary Tree Postorder Traversal 前序排列 :根-左-右 中序排列: 左-根-右 后序排列:左-右-根 参考答案 1 // PreOrder 2 /** 3 * Definition for a binary tree node. 4 * struct TreeNode { 5 * int val; 6 *