Java编程题?

用Java程序来实现:某花店有四种花在出售,各自售价分别是,菊花每支2元,康乃馨每支3元,玫瑰每支5元,,百合每支6元,现在小明手上有20元,请问他购买哪几种正好把钱花完,各买几支?

public static void main(String[] args){

    int a = 2,b = 3,c =5 ,d = 6;

    for(int i=0;i<=10;i++){

        for(int j =0 ;j<=6;j++){

            for(int k = 0;k<=4 ;k++){

                for(int l = 0;l<=3;l++){

                    if(i*2+j*3+k*5+l*6==20){

                        System.out.println("菊花"+i+"支,康乃馨"+j+"支,玫瑰"+k+"支,百合"+l+"支");

                    }

                }

            }

        }

    }


}



运行结果

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-03
先把题目列成公式就是2*a+3*b+4*c+5*d=20

这就是一个四元一次方程
简单点就四次循环就可以得到答案
public static void main(String[] args) {

int min=0;//不可能买负数
for (int a =min; a <=20/2; a++) {
for (int b =min; b <20/3; b++) {
for (int c = min; c <20/4; c++) {
for (int d = min; d <20/5; d++) {
if(2*a+3*b+4*c+5*d==20){
System.out.println("菊花"+a);
System.out.println("康乃馨"+b);
System.out.println("玫瑰"+c);
System.out.println("百合"+d);
}
}

}
}
}

}