Chapter 9 练习 (Exercises)
- 定义一个函数,接受一个实数列表,若且唯若 (iff)它们是非递减 (nondecreasing)顺序时返回真。
- 定义一个函数,接受一个整数
cents
并返回四个值,将数字用25-
,10-
,5-
,1-
来显示,使用最少数量的硬币。(译注:25-
是 25 美分,以此类推) - 一个遥远的星球住着两种生物, wigglies 与 wobblies 。 Wigglies 与 wobblies 唱歌一样厉害。每年都有一个比赛来选出十大最佳歌手。下面是过去十年的结果:
YEAR | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
---|---|---|---|---|---|---|---|---|---|---|
WIGGLIES | 6 | 5 | 6 | 4 | 5 | 5 | 4 | 5 | 6 | 5 |
WOBBLIES | 4 | 5 | 4 | 6 | 5 | 5 | 6 | 5 | 4 | 5 |
写一个程序来模拟这样的比赛。你的结果实际上有建议委员会每年选出 10 个最佳歌手吗?
- 定义一个函数,接受 8 个表示二维空间中两个线段端点的实数,若线段没有相交,则返回假,或返回两个值表示相交点的
x
座标与y
座标。 - 假设
f
是一个接受一个 (实数) 参数的函数,而min
与max
是有着不同正负号的非零实数,使得f
对于参数i
有一个根 (返回零)并满足min < i < max
。定义一个函数,接受四个参数,f
,min
,max
以及epsilon
,并返回一个i
的近似值,准确至正负epsilon
之内。 - Honer’s method 是一个有效率求出多项式的技巧。要找到 \(ax^3+bx^2+cx+d\) 你对
x(x(ax+b)+c)+d
求值。定义一个函数,接受一个或多个参数 ── x 的值伴随着 n 个实数,用来表示(n-1)
次方的多项式的系数 ── 并用 Honer’s method 计算出多项式的值。
- 你的 Common Lisp 实现使用了几个位元来表示定长数?
- 你的 Common Lisp 实现提供几种不同的浮点数?
脚注
[1] | 当 format 取整显示时,它不保证会取成偶数或奇数。见 125 页 (译注: 7.4 节)。 |
当前内容版权归 readthedocs 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 readthedocs .