书是07年买的,看了开头两章就没有进展了,现在又拾起。
计划在这段时间好好学习一下。
第一章的实例换零钱,本来想能不能写出个迭代的实现,想了一天,没有想出来。
中间写了这么一个实现,还是递归的,运行缺出错,没有想明白错在哪里。
(define (count-chg2 amount)
(define (first-of-coins kinds)
(cond ((= kinds 1) 1)
((= kinds 2) 2)
((= kinds 3) 5)
((= kinds 4) 10)
((= kinds 5) 20)
((= kinds 6) 50)
((= kinds 7) 100)
((= kinds 8) 200)
((= kinds 9) 500)
((= kinds 10) 1000)
((= kinds 11) 2000)
((= kinds 12) 5000)
((= kinds 13) 10000)
))
(define (dec-amount amount kinds)
(- amount (first-of-coins kinds)))
(define (dec-kinds kinds)
(- kinds 1))
(define (inc-amount amount kinds)
(+ amount (first-of-coins kinds)))
(define (inc-kinds kinds)
(+ kinds 1))
(define (cc-iter amount kinds count)
(cond ((= 0 amount) (+ 1 count))
((or (< amount 0) (< kinds 0)) count)
(else
(+ (cc-iter (dec-amount amount kinds) kinds count) (cc-iter amount (dec-kinds kinds) count))
)
)
)
(cc-iter amount 4 0)
)
在else的地方,运行报错
-: expects type <number> as 2nd argument, given: #<void>; other arguments were: 1
现在还不明白怎么解决,先记下来,看到后面再回头来看
分享到:
相关推荐
一个财务换零钱程序,方便会计发工资 换零钱
整钱换零钱问题.cpp
兑换零钱问题是一个求解组合优化的问题。首先对兑换零钱问题进行了分析,证明了该问题满足动态规划的最优化原理,并给出了其动态规划解法;然后对本算法进行了时间复杂性和空间复杂性分析,得到时间复杂性由通常的...
算法设计课程代码,此代码为零钱兑换的C语言代码,感谢下载
最少零钱问题,最少硬币问题,动态规划算法,找零钱问题,
呵呵,呵呵,刚学,呵呵,y。daniel liang编的书上的作业题
编一个程序,把一张面值100元的钞票换成5元,1元和5角面值的钞票,要求100元换以上的零钱100张,且要求每种不少于一张。请问,有哪几种换法?
Java零钱兑换问题leetcode 数据结构与算法 数据结构与算法的Java实现 数据结构 排序算法 O(n^2) O(n^2) O(n^2) O(nlog(n)) O(nlog(n)) O(n) O(nlog(n)) 字符串算法 O(n * m) O(n),极端情况下会退化为O(n * m) 时间...
7.1多米诺理论与换零钱 268 7.2基本策略 277 7.3解递归式282 7.4特殊的生成函数 294 7.5卷积 296 7.6指数生成函数 305 7.7狄利克雷生成函数 310 习题312 第8章离散概率 320 8.1定义 320 8.2均值和方差 325 8.3概率...
小明去x星旅游,他手中只有2张100元的x星币,太不方便,恰好路过x星银行就去换零钱。 小明有点强迫症,他坚持要求200元换出的零钞中2元的张数刚好是1元的张数的10倍,剩下的当然都是5元面额的。 银行的工作人员有点...
贪婪实例:换零钱 const MAXN = 9; let parvalue = [10000, 5000, 1000, 500, 200, 100, 50, 20, 10]; let num = []; for(let i = 0; i < MAXN; i++){ num[i] = 0; } function exchage(n){ var i,j;
写一个程序,从标准输入上读入一个正整数N(1 ),计算出N元人民币兑换成1分、2分和5分的硬币,有多少种可能的组合。将结果以整数的方式输出到标准输出上,占一行。【输入形式】 正整数N。(1 ) 【输出形式】 ...
问题描述:设有 n 种不同的钱币各若干张,可用这 n 种钱币产生许多不同的面值。试设计一个算法,计算给定的某个面值,能有多少种不同的产生方法。例如有 1 分3 张,2 分3 张,5 分 1 张,则能组成 7 分面值的方法有...
算法入门,若干实例探讨算法思考模式。。。。。。。。
一人拿一张百元钞票到商店买了25元的东西,店主由于手头没有零钱,便拿这张百元钞票到隔壁的小摊贩那里换了100元零钱,并找回了那人75元钱。那人拿着25元的东西和75元零钱走。过了一会儿,隔壁小摊贩找到店主,说...
html5+css3从入门到精通,最新的书籍,希望帮到好学之人
这样就达到了空间换时间的目的,最终时间为n。 解决方法2--自底向上:可以将递归问题转化为迭代问题。从当前已经解决的问题出发,构建DP Table,循环计算。 2、凑零钱 对于指定金额,给出在币值范围内进行组合的最少...
4.现金红包,可添加任意金额的红包,到账方式后台可设置为到软件的用户余额里或使用微信付款到零钱接口到用户微信零钱。 5.cps,小程序跳转,如:美团红包,各平台推广优惠券,用户抽中后可以点击领取,不仅给用户...
找零钱 求一元二次方程的根(公式法) 比赛日程(分治法) 两个有序数组的合并 统计投色子(2个)的结果 12小球问题 改进冒泡排序法 螺旋数组 射击环数 猜数字游戏 桶排序 造币厂问题 直接插入排序 搬砖 公车座位巧安排 ...
开关中心 SwitchCent是一个很小的货币转换工具。 选择一种基本货币,输入金额,SwitchCent会... SwitchCent旨在帮助您弄清楚最好的零钱交易在哪里,或者对于那些只是好奇一定数量的钱能在另一个国家获得多少钱的人。