SICP 1.11-1.13
1.11
递归版本
(define (f n) (cond ((< n ) n)
(else (+ (f (- n ))
(* (f (- n )) )
(* (f (- n )) ))))) 迭代版本 (define (f n)
(if (< n ) (xf n ))) (define (xf n a b c d)
(cond ((= n d) (max a b c))
(else (cond ((= (remainder d )) (xf n (+ (* a)
(* b)
c) b c (+ d)))
((= (remainder d )) (xf n a (+ (* b)
(* c)
a) c (+ d)))
((= (remainder d )) (xf n a b (+ (* c)
(* a)
b) (+ d)))))))
1.12
(define (pascal h n)
(cond ((= h ) )
((= n ) )
((= h n) )
(else (+ (pascal (- h ) n)
(pascal (- h ) (- n ))))))
1.13
证明题看着都烦...
作为补偿我来实现一下1.12的迭代版本 --------> 失败
经过百度发现了一个公式 -------> (row col)=row!/(col!⋅(row−col)!) -----> 有这个公式的话那实现起来很简单,就不演示了...
SICP 1.11-1.13的更多相关文章
- 2016年11月13日 星期日 --出埃及记 Exodus 20:4
2016年11月13日 星期日 --出埃及记 Exodus 20:4 "You shall not make for yourself an idol in the form of anyt ...
- 关于如何使用Navicat(11.1.13) for MySQL如何创建存储过程
1.ƒ()函数(右键)→新建函数(左键)→过程(选择) 2.会遇到的问题 问题一:因为sql语句默认以;为结束符,所以应该修改结束符,但是这在Navicat(11.1.13) for MySQL中是不 ...
- 【Java例题】3.1 7、11、13的倍数
1.找出1~5000范围内分别满足如下条件的数: (1) 7或11或13的倍数 (2) 7.11,或7.13或11.13的倍数 (3) 7.11和13的倍数. package chapter3; pu ...
- java试题复盘——11月13日
上: 10. AccessViolationException异常触发后,下列程序的输出结果为( A ) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 AccessViol ...
- 剑指offer19:按照从外向里以顺时针的顺序依次打印出每一个数字,4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.
1 题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印 ...
- 鸟哥的Linux私房菜-第10/11/12/13章(vim程序编辑器、学习bash、正则表达式与文件格式化处理、学习Shell Scripts)
第10章 vim程序编辑器 可以将vim看做vi的进阶版本,vim可以用颜色或底线等方式来显示出一些特殊的信息. 为何要学习vim?因为: a. 所有的 Unix Like 系统都会内建 vi 文书编 ...
- 易初大数据 2019年11月13日 Linux 王庆超
★安装Red Hat Enterprise Linux7.41 ◆1通过键盘的方向键选择“lnstall Red Hat Enterprise Linux7.4”选项来直接安装Linux 系统. ◆2 ...
- jdk 9 10 11 12 13 新特性
jdk 9 新特性 1.集合加强 jdk9 为所有集合(List/Set/Map)都增加了 of 和 copyOf 方法,用来创建不可变集合,即一旦创建就无法再执行添加.删除.替换.排序等操作,否则将 ...
- 11月13日上午ajax返回数据类型为JSON数据的处理
ajax返回数据类型为JSON数据的处理 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...
- Fibonacci Again 分类: HDU 2015-06-26 11:05 13人阅读 评论(0) 收藏
Fibonacci Again Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tot ...
随机推荐
- bash - trap
http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_12_02.html The syntax for the trap statement is s ...
- 关于MD5值加密算法
public static string getMD5(string str)//该方法获取字符串的md5加密 通经常使用来验证数据 { System.Security.Cry ...
- [TypeScript] Increase TypeScript's type safety with noImplicitAny
TypeScript tries to infer as much about your code as it can. But sometimes there really is not enoug ...
- ITFriend创业败局(一):选择创业方向和寻找合伙人,创业失败的2个关键点
这次创业惨淡收场,最主要的原因是没有选择一个合适的创业方向,没有找到合适的创业合伙人. 首先要说到创业方向,因为不同的创业方向需要组建不同的创业团队.我个人比较偏好,软件.网络.互联网等有一 ...
- 学习鸟哥的Linux私房菜笔记(5)——目录
一.目录 目录在文件类型上用d来表示,用 / 分割目录层 Linux操作系统 都有且仅有一个起始目录,我们用一个单独的 /来表示,称其为根目录. 对每一个Shell和操作环境,都有一个当前的工作目录. ...
- sqlserver中的存储过程 函数 事物 索引及视图
存储过程和函数具体的区别: 核心提示:本质上没区别.只是函数有限制只能返回一个标量,而存储过程可以返回多个.并且函数是可以 ...
- python 爬取bilibili 视频弹幕
# -*- coding: utf-8 -*- # @author: Tele # @Time : 2019/04/09 下午 4:50 # 爬取弹幕 import requests import j ...
- mysql 数据库 添加查询 修改 删除
cmd 命令行模式操作数据库 添加查询 修改 删除 ( 表 字段 数据) 一 查看数据库.表.数据字段.数据 1 首先配置环境变量 进入mysql 或者通过一键集成工具 打开mysql命令行 ...
- 【16.05%】【codeforces 664B】Rebus
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...
- JS高级程序设计拾遗
<JavaScript高级程序设计(第三版)>反反复复看了好多遍了,这次复习作为2017年上半年的最后一次,将所有模糊的.记不清的地方记录下来,方便以后巩固. 0. <script& ...