给定数量不限的硬币,币值为25分、10分、5分和1分,编写代码计算n分有多少种表示法。
2014-02-09 15:04
302 查看
递归问题
int makeChange(int n, int denom)
{
int next_denom;
switch(denom){
case 25:
next_denom = 10;
break;
case 10:
next_denom = 5;
break;
case 5:
next_denom = 1;
break;
case 1:
return 1;
}
int ways = 0;
for(int i = 0; i * denom <= n; ++i){
ways += makeChange(n - i * denom, next_denom);
}
return ways;
}
int makeChange(int n)
{
return makeChange(n, 25);
}
int makeChange(int n, int denom)
{
int next_denom;
switch(denom){
case 25:
next_denom = 10;
break;
case 10:
next_denom = 5;
break;
case 5:
next_denom = 1;
break;
case 1:
return 1;
}
int ways = 0;
for(int i = 0; i * denom <= n; ++i){
ways += makeChange(n - i * denom, next_denom);
}
return ways;
}
int makeChange(int n)
{
return makeChange(n, 25);
}
相关文章推荐
- 给定数量不限的硬币,币值为25分,10分,5分和1分,编写代码计算n分有几种表示法
- 有数量不限的硬币,币值为25分、10分、5分和1分,请编写代码计算n分有几种表示法
- 换零钱:有数量不限的硬币,币值为25分、10分、5分和1分,请编写代码计算n分有几种表示法。
- 9.9递归和动态规划(八)——给定数量不限的硬币,币值为25分,10分,5分,1分,计算n分有几种表示法
- 9.9递归和动态规划(八)——给定数量不限的硬币,币值为25分,10分,5分,1分,计算n分有几种表示法
- 给定数量的币值,如25分,10分,5分,1分,编写计算n分的有多少种表示方法
- 币值为25分、10分、5分和1分的硬币,计算n分有几种表示方法
- 9.8 给定数量不限的硬币,25,10,5,1,编写代码计算n分有几种表示法。
- 创新工场笔试题----有1分,2分,5分,10分四种硬币,每种硬币数量无限,给定n分钱,求有多少种组合可以组合成n分钱?
- 有1分,2分,5分,10分四种硬币,每种硬币数量无限,给定n分钱,求有多少种组合可以组合成n分钱?
- 程序员面试金典: 9.9 递归和动态规划 9.8求n分可以由25分,10分,5分,1分的硬币的表示方法
- 程序员面试金典(动态规划):1分,5分,10分,25分硬币面值组合问题(解题思路)
- 给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。
- 编写一个程序,读入个数不确定的(<=100个)考试分数,并且判断有多少个分数是大于或等于平均分,多少个分数是低于平均分的。输入一个负数表示输入的结束。假设成绩的最高分为10分。
- 把一元人民币换成5分,2分,1分的硬币,共有多少种换法?
- 华为面试2:1分2分5分的硬币,组成1角,共有多少种组合。
- 把一元钱换成1分,2分,5分的硬币。有多少种换法
- 华为面试2:1分2分5分的硬币,组成1角,共有多少种组合。
- 从键盘输入一个指定金额(以元为单位,如345.78),然后显示支付该金额的各种面额人民币数量,要求显示100元、50元、10元、5元、2元、1元、5角、1角、5分、1分各多少张
- 1分2分5分的硬币,组成1角,共有多少种组合。