蓝桥杯java试题购物券
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/16 04:59:33
蓝桥杯java试题购物券
公司发了某商店的购物券1000元,限定只能购买店中的m种商品.每种商品的价格分别为m1,m2,…,要求程序列出所有的正好能消费完该购物券的不同购物方法.
程序输入:第一行是一个整数m,代表可购买的商品的种类数.
接下来是m个整数,每个1行,分别代表这m种商品的单价(0
公司发了某商店的购物券1000元,限定只能购买店中的m种商品.每种商品的价格分别为m1,m2,…,要求程序列出所有的正好能消费完该购物券的不同购物方法.
程序输入:第一行是一个整数m,代表可购买的商品的种类数.
接下来是m个整数,每个1行,分别代表这m种商品的单价(0
public class Cal {
private static Integer price[];
private static Integer result[];
private static Integer num;
private static List<Integer[]> list = new ArrayList<Integer[]>();
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String numStr = br.readLine();
num = Integer.parseInt(numStr);
if(num==null||num==0) return;
price = new Integer[num];
result = new Integer[num];
for(int i=0; i<num; i++){
result[i] = 0;
}
for(int i=0; i<num; i++){
price[i] = Integer.parseInt(br.readLine());
}
cal(1000, 0);
System.out.println(list.size());
for(Integer[] resu : list){
for(Integer n : resu){
System.out.print(n+" ");
}
System.out.println();
}
}
public static void cal(int money, int i){
if(money<0)return;
if(i>=num)return;
if(money==0){
Integer[] line = new Integer[num];
for (int j = 0; j < line.length; j++) {
line[j] = result[j];
}
list.add(line);
return;
}
for(;i<num;i++){
result[i]++;
cal(money-price[i], i);
result[i]--;
}
}
}
private static Integer price[];
private static Integer result[];
private static Integer num;
private static List<Integer[]> list = new ArrayList<Integer[]>();
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String numStr = br.readLine();
num = Integer.parseInt(numStr);
if(num==null||num==0) return;
price = new Integer[num];
result = new Integer[num];
for(int i=0; i<num; i++){
result[i] = 0;
}
for(int i=0; i<num; i++){
price[i] = Integer.parseInt(br.readLine());
}
cal(1000, 0);
System.out.println(list.size());
for(Integer[] resu : list){
for(Integer n : resu){
System.out.print(n+" ");
}
System.out.println();
}
}
public static void cal(int money, int i){
if(money<0)return;
if(i>=num)return;
if(money==0){
Integer[] line = new Integer[num];
for (int j = 0; j < line.length; j++) {
line[j] = result[j];
}
list.add(line);
return;
}
for(;i<num;i++){
result[i]++;
cal(money-price[i], i);
result[i]--;
}
}
}
在线等 奥鹏试题二、多选题(共 10 道试题,共 30 分.)V 1. 资本证券是指( ).A. 购物券B. 股票C.
java 面试题,智力,1,6,21,52,94,下一个数是什么?
JAVA面试题,共三十个点,每三个点在同一个平面,求总共可以画多少个三角形
试题
java 中
java static
java methods
JAVA.百钱买鸡.
购物券、代金券的券是念quan还是juan?
1212购物券金额÷1212促销价必须≤20%
java.lang.Exception, java.lang.RuntimeException, java.lang.E
java.lang.ClassCastException: java.lang.Long