文档章节

SICP 1.21 1.22 1.23 1.24

 代码强国
发布于 2014/08/17 16:27
字数 121
阅读 63
收藏 0

解:相关代码如下,时间测不出来

#lang racket

(define (square x)
  (* x x))

(define (smallest-divisor n)
  (define (divides? a b)
    (= (remainder b a) 0))
  (define (next divisor)
    (if (= divisor 2)
        3
        (+ divisor 2)))
  (define (find-divisor n test-divisor)
    (cond ((> (square test-divisor) n) n)
          ((divides? test-divisor n) test-divisor)
          (else (find-divisor n (next test-divisor)))))
  (find-divisor n 2))

(define (prime? n)
  (= n (smallest-divisor n)))

(define (timed-prime-test n)
  (define (report-prime elapsed-time)
    (display "***")
    (display elapsed-time))
  (define (start-prime-test n start-time)
    (cond ((prime? n) (report-prime (- (current-inexact-milliseconds) start-time)))))
  (newline)
  (display n)
  (start-prime-test n (current-inexact-milliseconds)))

(define (search-for-primes start end num)
  (timed-prime-test start)
  (cond ((and (> num 0) (< start end))
         (search-for-primes (+ start 1) end (- num 1)))))


© 著作权归作者所有

上一篇: SICP 1.25 1.26
下一篇: SICP 1.19
粉丝 1
博文 65
码字总数 21620
作品 0
深圳
私信 提问
iOS 11开发教程(六)iOS11Main.storyboard文件编辑界面

iOS 11开发教程(六)iOS11Main.storyboard文件编辑界面 在1.2.2小节中提到过编辑界面(Interface builder),编辑界面是用来设计用户界面的,单击打开Main.storyboard文件就打开了编辑界面。...

大学霸
2017/10/26
11
0
App Store上下载和安装Xcode

App Store上下载和安装Xcode Xcode的下载和安装 要编写一个Sprite Kit程序,需要使用到Xcode开发工具。本节将主要讲解此工具的两种下载和安装方式:一种是在App Store上进行下载和安装;另一...

大学霸
2015/03/24
2.8K
1
dSploitzANTI渗透教程之启动zANTI工具

dSploitzANTI渗透教程之启动zANTI工具 启动zANTI工具 【示例1-2】下面将介绍启动zANTI工具的方法。具体操作步骤如下所示: (1)在Android设备的应用程序界面,选择并启动zANTI程序。启动后,...

大学霸
2015/08/04
937
0
iOS10 UI教程视图调试

iOS10 UI教程视图调试 iOS10 UI教程视图调试,当视图很复杂的时候,层次结构就不会很简单了。Xcode可以通过视图(View)调试帮助开发者解决层次结构复杂的问题。视图调试是在Xcode 6中引入的...

大学霸
2016/11/28
30
0
​OpenVAS漏洞扫描基础教程之创建用户组与创建角色

OpenVAS漏洞扫描基础教程之创建用户组与创建角色 OpenVAS创建用户组 用户组就是指许多个用户的组合。在网络中,各个访问网络的用户的权限可能各不相同。所以,可以通过将具体相同权限的用户划...

大学霸
2015/08/28
234
0

没有更多内容

加载失败,请刷新页面

加载更多

自定义ApiBoot Logging链路以及单元ID生成策略

ApiBoot Logging会为每一个请求都对应创建链路编号(TraceID)以及单元编号(SpanID),用于归类每一次请求日志,通过一个链路下日志单元的Parent SpanID可以进行上下级关系的梳理。 前文回顾...

恒宇少年
21分钟前
8
0
浅谈 Application 和 activity

对于 在 Application初始化一些变量,为什么不可以放在activity 或者其他的组件里呢? 这里就根据个人的理解来讲述一下,欢迎补充指正。 首先 activity 是以栈的形式出现,一个app应用会有多...

MrLins
21分钟前
8
0
Allegro的脚本文件内容里都有哪些

小伙伴们在使用Allegro的时候是否经常用到脚本文件夹呢?scr的用法其实可真不简单。。。 首先脚本文件的运行模式就存在很多种,比如不提示错误信息,不弹出确认对画框(这样很有利于我们执行...

demyar
22分钟前
16
0
微信升级外链管理规范,「砍一刀帮我加速」要被禁止了

原创: 蒋鸿昌 首发:「知晓程序」公众号 - 最好的微信新商业媒体 几天前,知名互联网评论人阑夕模仿皮尤研究中心(Pew Research Center)在美国做的互联网通识调查问卷,做了一份中文版问卷...

知晓云
23分钟前
14
0
CentOS 7接投影仪

我将一台安装着CentOS 7图形界面的惠普笔记本电脑当桌面使用。最近,想要连接投影仪时却遇到了问题。笔记本有一个HDMI接口。我买了一个HDMI---->VGA的转接线,连上笔记本电脑后,屏幕一直在闪...

大别阿郎
26分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部