| 查看: 1541 | 回复: 10 | |||
| 本帖产生 2 个 程序强帖 ,点击这里进行查看 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
holmescn金虫 (正式写手)
|
[交流]
Euler 工程 第三十一题: 换零钱 已有4人参与
|
||
|
话说英国的钱有两种, 一种是英镑(£), 一种是便士(p). 一共有8种硬币: 1p, 2p, 5p, 10p, 20p, 50p, £1 (100p), £2 (200p). 2 英镑可以换成这样: 1*£1 + 1*50p + 2*20p + 1*5p + 1*2p + 3*1p 那么2英镑一共可以有多少种换零钱的方法呢? [ Last edited by holmescn on 2011-6-26 at 00:07 ] |
wangww2011
木虫 (著名写手)
- 程序强帖: 13
- 应助: 11 (小学生)
- 金币: 4023.1
- 散金: 2709
- 红花: 18
- 沙发: 1
- 帖子: 1915
- 在线: 1537.1小时
- 虫号: 772953
- 注册: 2009-05-17
- 性别: GG
- 专业: 凝聚态物性 II :电子结构
★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
jjdg(金币+2): 感谢参与 2011-07-27 00:04:41
ben_ladeng: 2011-08-02 08:06:50
小木虫(金币+0.5):给个红包,谢谢回帖
jjdg(金币+2): 感谢参与 2011-07-27 00:04:41
ben_ladeng: 2011-08-02 08:06:50
|
也是用递归,先说思路(可能有点笨) 对于n pence来说,如果只用1pence 和2 pence 两种兑换,则有 int(n/2)+1 种方法,写成这种形式 y(1,2;n)=int(n/2)+1 如果再加多些,譬如用1pence, 2 pence 和 5 pence 三种兑换,则有 y(1,2,5;n)=y(1,2;n)+y(1,2;n-5)+y(1,2;n-10)+... 一般化,y(1,2,...,n0,n1;n)=y(1,2,...,n0;n)+y(1,2,...,n0;n-n1)+y(1,2,...,n0,n-2*n1)+... 且y(1,n0;n)=int(n/n0)+1 所以代码为(就用list实现的) 不过最后还要加一才得到正确答案,因为题目中把1个200pence也算成一种方法了 [ Last edited by wangww2011 on 2011-7-26 at 21:24 ] |
11楼2011-07-26 21:08:49
libralibra
至尊木虫 (著名写手)
骠骑将军
- 程序强帖: 40
- 应助: 817 (博后)
- 金币: 12914.1
- 红花: 64
- 帖子: 2238
- 在线: 287.3小时
- 虫号: 696514
- 注册: 2009-02-05
- 专业: 计算机软件

2楼2011-06-19 13:54:25
holmescn
金虫 (正式写手)
- 程序强帖: 37
- 应助: 1 (幼儿园)
- 金币: 1918.8
- 散金: 275
- 红花: 1
- 帖子: 699
- 在线: 102.6小时
- 虫号: 913482
- 注册: 2009-11-26
- 性别: GG
- 专业: 凝聚态物性 II :电子结构
3楼2011-06-19 17:03:30

4楼2011-06-19 17:43:47













回复此楼


