「java纸币问题」最少纸币数算法java

博主:adminadmin 2022-12-31 09:51:07 863

本篇文章给大家谈谈java纸币问题,以及最少纸币数算法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纸币问题的信息别忘了在本站进行查找喔。