「java纸币问题」最少纸币数算法java
本篇文章给大家谈谈java纸币问题,以及最少纸币数算法java对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、设有各不同面值人民币若干,编写一个java程序,对任意输入的一个金额,给出能组合出这个值的最佳可能
- 2、java编写实现价格2856元,求:支付的纸币各多少张?(纸币有100,50,20,10,5,1)
- 3、编写一个Java程序,实现求解把50元钱分成一元,二元和五元的纸币且纸币张数共为20张的分法有多少种?
- 4、假设手头上现有a张十元纸币 b张5元纸币和c张2元纸币,要求用java写个findSolution
- 5、编写java程序
- 6、用java语言编程:把一元钞票换成一分、二分、五分硬币(每种至少一枚),有多少种换法?
设有各不同面值人民币若干,编写一个java程序,对任意输入的一个金额,给出能组合出这个值的最佳可能
public class Money {
public static void main(String[] args) {
// 所有金额以分为单位
int money = 146;
// 所有钞票面以分为单位,从大到小排列,10000是100块,20是2角
int[] rmbs = { 10000, 5000, 2000, 1000, 500, 100, 50, 20, 10, 5, 2, 1 };
// rest是剩余的钱,刚开始为所求的钱,随便选钱rest越变越小,直到为0
int rest = money;
for (int rmb : rmbs) {
// num为钞票个数
int num = rest / rmb;
if (num 0) {
rest = rest - rmb * num;
System.out.println("钞票面额(分):" + rmb + " 个数:" + num + " 还差多少钱(分):" + rest);
// 钱凑齐了,程序结束
if (rest == 0) {
System.exit(1);
}
} // end if num
} // end for rmb
}
}
java编写实现价格2856元,求:支付的纸币各多少张?(纸币有100,50,20,10,5,1)
public class Egg{
public static void main(String[] args){
int sum = 2856;
// 100,50,20,10,5,1
for(int i = 1; i = sum / 100; i++){
for(int j = 1; j = sum / 50; j++){
for(int k = 1; k = sum / 20; k++){
for(int m = 1; m = sum / 10; m++){
for(int n = 1; n = sum / 5; n++){
for(int p = 1; p = sum / 1; p++){
if(i * 100 + j * 50 + k * 20 + m * 10 + n * 5 + p * 1 ==
sum){
System.out.printf("100: %d, 50: %d, 20: %d, 10: %d, 5:
%d, 1: %d%n", i,j,k,m,n,p);
}
}
}
}
}
}
}
}
}
编写一个Java程序,实现求解把50元钱分成一元,二元和五元的纸币且纸币张数共为20张的分法有多少种?
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int x,y,z;
for (x=0;x=9;x++) {
for (y = 0; y =25; y++) {
for (z = 0; z = 20-x-y; z++) {
int num=x+y+z;
int sum=5*x+2*y+z;
if (num==20sum==50) {
System.out.printf("五元%d张,二元%d张,一元%d张",x,y,z);
System.out.println();
}
}
}
}
}
}
假设手头上现有a张十元纸币 b张5元纸币和c张2元纸币,要求用java写个findSolution
public static void findSolution(int a,int b,int c,int n){
if(a=0||b=0||c=0||c=0){
System.out.println("必须输入正整数!");
return;
}
int count=0;
for(int a1=0;a1=a;a1++){
for(int b1=0;b1=b;b1++){
for(int c1=0;c1=c;c1++){
if(a1*10+b1*5+c1*2==n){
count++;
System.out.println(a1+"张十元纸币、"+b1+"张5元纸币和"+c1+"张2元纸币组成"+n+"元!");
}
}
}
}
if(count==0){
System.out.println(a+"张十元纸币、"+b+"张5元纸币和"+c+"张2元纸币无法组成"+n+"元!");
}
}
编写java程序
新建java第一种方法:
1。首先右击鼠标,新建一个文本文档。
2。更改文本文档的后缀名为
.java
。注意文件名必须和类名相同。
如果你的电脑没有显示后缀名的话需要对电脑进行一定的设置。
3。打开计算机——组织——文件夹选项——查看——将隐藏文件夹选项取消勾选即可。
建议将这个选项取消勾选,有很多的恶意程序会侵入我们的电脑,取消勾选可以很好的查看病毒等文件的类型。
4。右击建好的文档,选择编辑即可进行java的编写。
在编写的时候我们有一定的格式,java语言的格式是为了我们日后更改程序方便而规定的,我们一定要遵循这种格式编写。
第二种方法:
1直接新建一个记事本文档,然后选择保存。
注意保存时额位置,不要等到保存完却找不到文件到哪了。
2在选择保存的窗口中输入后缀“.java”,然后保存即可。注意文件名必须和类名相同。
3同样右击文件,选择编辑即可在文件中进行编辑了。
前两个大括号之间回车,第二对大括号有一个间隔,直接按TAb键即可。
测试运行java程序:
打开运行命令,也可以直接在开菜单中输入CMD调用命令窗口。
你的文件保存在哪里就将你的文件目录输入到命令提示符窗口中,例如我的是D盘根目录,所以我输入“d:”。
编译java文件,生成class文件:
在命令提示符中输入“javac
文件名.java”,我的文件名为A,所以输入javac
A.java然后回车,等待编译。
运行文件:
继续输入“java
文件名”然后回车就可以运行我们写好的文件了。
用java语言编程:把一元钞票换成一分、二分、五分硬币(每种至少一枚),有多少种换法?
for(int i=1;i=100;i++)
{
for(int j=1;j=50;j++)
{
for(int k=1;k=20;k++)
{
if(i*1+j*5+k*2==100)
System.out.println("1元钞票可以换为"+i+ "枚1分硬币和"+j+"枚2分硬币和"+k+ "枚5分硬币\n");
}
}
}
java纸币问题的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于最少纸币数算法java、java纸币问题的信息别忘了在本站进行查找喔。