今天去看了看算法 ,顺便说一下 那个德问论坛不错,那里的人挺牛逼。当然这里也很好。
说说这个题 可能有人听过把。就是100,50,20,10各有1,2,5,10张,进行组合,有多少是一百的。看论坛里他们写的代码实在是麻烦。这里给出我的解决方法。
import java.util.Stack;
public class Combination {
private static Stack<Integer> money=new Stack<Integer>();//栈
private static int[] sum={5,5,2,1}; //提供给予的10,20,50,100 对应的个数
private static int[] num={0,0,0,0}; //记录下 当前用过的次数。
private static int[] coin={10,20,50,100};//给予的钞票面值
private static int count=0; //记录总共的可能数
public static void main(String args[]){
Commoney(100);
System.out.println("总数是:"+count);
}
public static void Commoney(int need){
for(int i=0;i<4;i++){
int dollar=coin[i];
//满足 1.100还没有分完。 2当前栈中没值,或者比前面的小,这样是为了有序。是结果集不重复。 3.当前的钞票个数还米有用完
if(need-dollar>=0&&(money.size()==0||dollar<=money.get(money.size()-1))&&num[i]<sum[i]){
money.push(dollar);
num[i]++;
if(need-dollar>0){
Commoney(need-dollar);
}
else{
count++;
for (Integer m: money){
System.out.print (m);
System.out.print (" ");
}
System.out.println();
}
money.pop();
num[i]--;
}
}
}
}
分享到:
相关推荐
java 实现有数量不限的面值为100,50,20,10,5,1元的纸币,问要组成N(N<=10^6)共有多少种组合方式;其中包括了爆搜的方法和动态规划的方法
在这个问题中,我们需要找出所有可能的方式,用给定面值的硬币(1元、2元、5元、10元、20元和50元)来组成总金额100元,同时记录每种组合的数量。这个问题在计算机科学和算法设计中具有重要意义,因为它展示了如何用...
在这个问题中,我们需要找出用特定面额的硬币(1元、2元、5元、10元、20元和50元)组成给定金额(如100元)的所有可能组合。这个问题在计算机科学中有着广泛的应用,特别是在算法设计和分析中。 动态规划是一种用于...
在这个问题中,目标是找到使用特定面值的硬币(1元,2元,5元,10元,20元,50元)来组成给定金额(例如100元)的所有可能组合。动态规划是一种用于解决这种问题的有效方法,因为它可以避免重复计算。 动态规划的...
- 在购买物品时,例如3张2元等于6元,5张10元等于50元,6张1元等于6元,4张5角等于20角,5张20元等于100元,1张100元等于100元,10张1角等于1元,4张2角等于8角,7张5元等于35元,1张2元等于2元,10张10元等于100元...
- 3X2元 = 6元,5X10元 = 50元,6X1元 = 6元,4X5角 = 20角,5X20元 = 100元,1X100元 = 100元,10X1角 = 10角,4X2角 = 8角,7X5元 = 35元,1X2元 = 2元,10X10元 = 100元,2X50元 = 100元。 14. **计算综合应用*...
5元是基本单位,10元是两个5元的组合,20元是四个5元的组合,50元是十个5元的组合,而100元则是二十个5元的组合。通过这样的方式,孩子们可以更直观地理解大面额货币的价值。 接着,课件中提到了如何用大面额的...
《认识5元及5元以上的人民币》的教学课件旨在帮助一年级的学生理解和熟悉不同面额的人民币,特别是5元及其以上的纸币,如10元、20元、50元和100元。这个课件通过各种活动和练习,让学生们能够掌握如何计算和兑换不同...
在这个单元中,学生需要了解和掌握不同面额的人民币,包括2元、5元、10元、20元、50元以及100元。通过复习上一节课关于1元以内人民币的知识,引入了在购买较高价值商品时使用大面额人民币的便利性。 知识点1:...
给出的练习题如10+20=30,60+20=80,70+10=80,40+50=90,20+20=40,10+50=60,30+50=80,50+50=100,10+60=70,40+10=50,都是在训练孩子对整十数相加的快速反应和准确计算。 2. **实际应用**: 问题2引入了实际...
更高面额的人民币也可以拆分为不同组合的低面额货币,如2元=2张1元,5元=5张1元,5元=2张2元+1张1元,10元=10张1元,10元=5张2元,10元=2张5元,20元=20张1元,20元=10张2元,20元=4张5元,50元=10张5元,50元=5张10...
1张10元+1张50元+2张20元 = 80元 单选题涉及基本价格判断,例如苹果每千克3元5角,钢笔每支3元,小林共有15元等。 应用题是实际生活中的场景应用,例如买衣服、买水果等,需要计算总价或者剩余金额。 最后,填写...
- 写出钱数时,需要理解元和角的组合,如10元+5元+1元等于16元,5元+2元+5角等于7元5角,50元+30元+2元等于82元,20元+20元+10元+5角等于50元5角。 6. **购物问题**: - 这部分涉及简单的减法运算,例如有5元钱,...
在本教学课件《认识5元及5元以上的人民币》中,主要涵盖了中国流通货币中的面额较大的纸币,即5元、10元、20元、50元以及100元,并通过一系列的换算练习帮助学生理解和掌握不同面额之间的相互关系。这些知识点对于...
同样,20元可以换20张1元,50元可以换5张10元,而100元则可以换10张10元或2张50元。这种转换是通过加法来实现的,即把小面额的纸币相加得到大面额的纸币,或者将大面额的纸币拆分成若干张小面额的纸币。 在“探究...
3. **组合与分类讨论**:例3考察了如何用10元、20元和50元的人民币组合出100元的不同方法。通过分类讨论和列表的方式,让学生理解多种组合可能性,培养他们的逻辑思维和解决问题的能力。例如,可以拿2张50元、1张50...
比如,5元相当于5个1元,10元相当于10个1元,20元相当于2个10元,50元相当于5个10元,而100元则相当于10个10元或2个50元。这种关系可以通过加法来验证,例如,1 + 1 + 1 + 1 + 1 = 5,表示5个1元等于1张5元。 在...
3张2元=(6)元,5张10元=(50)元,6张1元=(6)元,4张5角=(20)角,5张20元=(100)元,1张100元=(100)元,10张1角=(1)元,4张2角=(8)角,7张5元=(35)元,1张2元=(2)元,10张10元=(100)元,2张50元=...
通过这种方式,学生学习了加法的概念,认识到10个1元等于10元,2个10元等于20元,5个10元等于50元,进而理解10个10元等于100元。 课程还设置了实际操作的环节,如摆出特定的钱数,如8元6角、37元、79元3角、14元,...
常见的人民币面额包括1元、2元、5元、10元、20元、50元和100元的纸币,以及1角、2角、5角的硬币,以及1分、2分、5分的硬币。 二、写出钱数 在日常生活中,我们需要能够正确地读写不同金额的人民币。例如: - 155元...