2008-02-17
分硬币问题的递归解法
关键字: 算法
确定将一定数量的钱(以分为单位)转换成两角五分的硬币,一角硬币,五分和一分硬币的方法总数。
import java.util.Stack;
public class Coin {
private static int[] coins = {25,10,5,1};
private static Stack<Integer> roots =new Stack<Integer>();
private static void divide(int num){
for (int coin : coins){
if (num - coin >=0 && (roots.size()==0 || coin <= roots.get(roots.size()-1))){
roots.push(new Integer(coin));
if (num - coin > 0){
divide (num - coin);
} else { // Get one
for (Integer root: roots){
System.out.print (root);
System.out.print (" ");
}
System.out.print ("\n");
}
roots.pop();
}
}
}
public static void main(String[] args) {
Coin.divide(17);
}
}
评论
metaphy
2008-02-21
运行结果:
10 5 1 1
10 1 1 1 1 1 1 1
5 5 5 1 1
5 5 1 1 1 1 1 1 1
5 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
10 5 1 1
10 1 1 1 1 1 1 1
5 5 5 1 1
5 5 1 1 1 1 1 1 1
5 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
发表评论
- 浏览: 16447 次
- 性别:

- 来自: 大连

- 详细资料
搜索本博客
我的相册
theend
共 10 张
共 10 张
最近加入圈子
最新评论
-
近期英语学习计划
任重而道远 mmd 学外语真是场持久战
-- by metaphy -
从Spring MVC-step-by-ste ...
引用汗一个 教授派的吧啥意思...
-- by metaphy -
从Spring MVC-step-by-ste ...
汗一个 教授派的吧
-- by jianfeng008cn -
翻译:Java游戏开发
whycloud 写道 Nighthaven 写道 其实我觉得这书的中文 ...
-- by Nighthaven -
翻译:Java游戏开发
而且这本的中文版我看过的,总的来讲还不是特别的烂 不过支持lz自己翻译,翻译的过 ...
-- by whycloud






评论排行榜