有20元民生积分商城礼品兑换卷,需要一次兑换分别为5元,10元,1元,2元,5元,10元,2元,有几种不同方法兑换

常用的递归解法
public class CoinToSum2 {
private static final int[] COINS = new int[] { 1, 2, 5, 10, 20, 50 };
private static final int SUM = 100;
private static int cnt = 0;
public static void main(String[] args) {
System.out.println(System.currentTimeMillis());
calc(0, 0, "");
System.out.println("total " + cnt + " solutions. ");
System.out.println(System.currentTimeMillis());// 110 ms
private static void calc(int sum, int coinIndex, String pre) {
if (SUM == sum) {
for (int i = coinI i & COINS. i++) {
if (SUM - sum &= 0) {
calc(sum + COINS[i], i, pre + " " + COINS[i]);
这个消耗时间大概在110ms,比第1个逊色多了。。。而且代码晦涩难懂、不好理解
(450 Bytes)
下载次数: 3
浏览: 3885 次
来自: 杭州
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'有人民币100元要换成零钱,零钱有1元丶2元丶5元和10元,有多少种换法?_百度知道
有人民币100元要换成零钱,零钱有1元丶2元丶5元和10元,有多少种换法?
有人民币100元要换成零钱,零钱有1元丶2元丶5元和10元,有多少种换法?(用pascal做)
我有更好的答案
枚举2元、5元、10元纸币分别有几张,在循环中计数即可。for&i&:=&1&to&50&do&&&&for&j&:=&1&to&20&do&&&&&&&&for&k&:=&1&to&10&do&&&&&&&&&&&&if&2&*&i&+&5&*&j&+&10&*&k&&=&100&then&&&&&&&&&&&&&&&&inc(&ans&);
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。> 问题详情
有1元、2元、5元、10元、20元纸币五种,有6张纸币面值之和是40元,从中可以凑成1元至40元的40种钱数。如
悬赏:0&答案豆
提问人:匿名网友
发布时间:
有1元、2元、5元、10元、20元纸币五种,有6张纸币面值之和是40元,从中可以凑成1元至40元的40种钱数。如果拿掉一张2元,那么可以凑成的不同钱数有几种?() A.28 B.30 C.31 D.34
为您推荐的考试题库
您可能感兴趣的试题
1有纯液态酒精一桶,倒出l0升后用水灌满,再倒出混合溶液5升,再用水灌满,这时酒精的浓度为72%,则桶的容量为(  )升。A.60B.50C.45D.402某单位要公开考试选拔一批基层干部,报名参加的男职工与女职工的人数之比是4:3,结果录取91人。其中男职工与女职工的人数之比是8:5。未被录取的人员中,男职工与女职工的人数之比是3:4。问共有多少人报名?(  )A.119B.120C.124D.1253“十一五”期间,北京地区海关贸易逆差占进出口总额比重最小的年份是(  )。A.2007年B.2008年C.2009年D.2010年4根据资料,下列说法一定正确的一项是(  )。A.2010年,实际利用外资中,北京市实际利用外资金额排名第二的是房地产业B.“十一五”期间,北京地区海关进出口总额是逐年递增的C.年,北京地区海关进口总额比上一年增长最快的是2010年D.2009年,北京市对外承包工程、劳务合作和设计咨询实现营业额是“十五”时期总额的1.1倍
我有更好的答案
请先输入下方的验证码查看最佳答案
图形验证:
验证码提交中……
每天只需0.4元
选择支付方式
支付宝付款
郑重提醒:支付后,系统自动为您完成注册
请使用微信扫码支付(元)
支付后,系统自动为您完成注册
遇到问题请联系在线客服QQ:
恭喜你被选中为
扫一扫-免费查看答案!
请您不要关闭此页面,支付完成后点击支付完成按钮
遇到问题请联系在线客服QQ:
恭喜您!升级VIP会员成功
提示:请截图保存您的账号信息,以方便日后登录使用。
常用邮箱:
用于找回密码
确认密码:现有5分,1角,2角,5角,1元,2元,5元,10元,20元,50元,100元面值的人民币各一张,_百度知道
现有5分,1角,2角,5角,1元,2元,5元,10元,20元,50元,100元面值的人民币各一张,
现有5分,1角,2角,5角,1元,2元,5元,10元,20元,50元,100元面值的人民币各一张,求一共有不同组合方式。
我有更好的答案
1111*10/2*1=5511*10*9/3-2*1=55*3=16511*10*9*8/4.3.2.1=33011*10*9*8*7/5*4*3*2*1=46211*10*9*8*7*6/6*5**4*3*2*1=462选与留是相同的所以一共有11+55+165+330+462﹚×2+1=2047种
采纳率:74%
C(11,1)+C(11,2)+C(11,3)+C(11,4)+C(11,5)+C(11,6)+......+C(11,9)+C(11,10)+C(11,11)=2[C(11,1)+C(11,2)+C(11,3)+C(11,4)+C(11,5)]+C(11,0)=2(11+55+165+330+462)+1=2047(种)答:一共有2047种组合方式。
为您推荐:
其他类似问题
人民币的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。现在就是考验你的信念时候了!!!!!
用1元,2元,5元,10元,20元,50元组合成100元
100元换零钱1元,2元,5元,10元,20元,50元有多少种组合方案
一道笔试题,当时就懵逼了。。。
找到递推公式之后,其实也不难
F(N,M)=F(N,M-1)+F(N-VAL[M],M)
F(N,M)表示 用不超过第M个值的数来表示N 的所有组合方案
我们先看4的组成
4 = 2+2 = 2+1+1 = 1+1+1+1共3种方案
我们再看公式,例如
F(4,6) = F(4,5) + F(4-VAL[6],6)
= F(4,5) + F(4-50,6)
= F(4,5) + F(-46,6)
F(4,5) = F(4,4) + F(4-VAL[5],5)
= F(4,4) + F(4-20,5)
= F(4,4) + F(-16,5)
F(4,4) = F(4,3) + F(4-VAL[4],4)
= F(4,3) + F(4-10,4)
= F(4,3) + F(-6,4)
F(4,3) = F(4,2) + F(4-VAL[3],3)
= F(4,2) + F(4-5,3)
= F(4,2) + F(-1,3)
= F(4,1) + F(4-VAL[2],2)
= F(4,1) + F(4-2,3)
= F(4,1) + F(2,3)
= F(4,1) + F(2,3)
F(4,6) 的所有组合方案其实就是F(4,2)的组合方案,毕竟VAL[3]~VAL[6]均大于4,不可能存在更多的组合方案,
用不超过第6个值的数(即50元)来表示4元 的所有组合方案【F(4,6)】
用不超过第2个值的数(即2元)来表示4元 的所有组合方案【F(4,2)】
用不超过第2个值的数(即2元)来表示4元 的所有组合方案【F(4,2)】
用不超过第1个值的数(即1元)来表示4元 的所有组合方案
用不超过第3个值的数(即5元)来表示2元 的所有组合方案【F(4,1)+F(2,3)】
明显F(4,1)所代表的方案就是4=1+1+1+1,即F(4,1)=1
而F(2,3)也可以用上述推导的方式,即F(2,3)=F(2,2)=F(2,1)+F(0,2)=....=F(2,1)+F(0,0)=2
F(0,0)可以理解成用0元来表示0元,这算是1种方案
此时我们就能看出4的组合方案,其实就是
【F(4-VAL[2],2),意味着把红色数字减去 ,即F(2,2)代表上面两种方案】
【F(4,1)代表4=1+1+1+1方案】
代码如下:
int main()
int val[7] = { 0,1,2,5,10,20,50 };
int f[101][7];
memset(f, 0, sizeof(f));
for (int j = 0; j &= 6; j++)
f[0][j] = 1;
for (int j = 1; j &= 6; j++)
for (int i = 1; i &= 100; i++)
if (i - val[j] & 0)
f[i][j] = f[i][j - 1];
f[i][j] = f[i - val[j]][j] + f[i][j - 1];
//cout && test(0, 100) &&
//cout && ans &&
cout && f[100][6] &&
system("pause");
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!}

我要回帖

更多关于 移动积分商城兑换礼品 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信