JAVA李白大酒问题话说大诗人李白,一生好饮.幸好他从不开车.一天,他提着酒壶,从家里出来,酒壶中有酒2斗.他边走边唱:

JAVA李白大酒问题
话说大诗人李白,一生好饮.幸好他从不开车.
一天,他提着酒壶,从家里出来,酒壶中有酒2斗.他边走边唱:
无事街上走,提壶去打酒.
逢店加一倍,遇花喝一斗.
这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了.
请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b.则:babaabbabbabbbb 就是合理的次序.像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的).
注意:通过浏览器提交答案.答案是个整数.不要书写任何多余的内容.
chapinlzp 1年前 已收到1个回答 举报

goldenice 幼苗

共回答了19个问题采纳率:89.5% 举报

public class LiBaiDaJiu {

//话说大诗人李白,一生好饮.幸好他从不开车.
//一天,他提着酒壶,从家里出来,酒壶中有酒2斗.他边走边唱:
//无事街上走,提壶去打酒.
//逢店加一倍,遇花喝一斗.
//这一路上,他一共遇到店5次,遇到花10次,已知最后一次遇到的是花,他正好把酒喝光了.
//请你计算李白遇到店和花的次序,可以把遇店记为a,遇花记为b.则:babaabbabbabbb b
//就是合理的次序.像这样的答案一共有多少呢?请你计算出所有可能方案的个数(包含题目给出的).
public static void main(String[] args) {

String temp = "";
String temp2 = "";
int count = 0;
for (int i = 0; i < Math.pow(2, 14); i++) {
temp = Integer.toBinaryString(i);
temp2 = temp.replace("0", "");
if(temp2.length() == 5){
temp += "0";
if(temp.length() <15){
for (int j = temp.length(); j < 15; j++) {
temp = "0"+temp;
}
}
if(meth(temp.toCharArray())) count++;
}
}
System.out.println("共有" + count + "种方案");
}


//判断一种方案
public static boolean meth(char[] DH){
int jiu = 2;
for (int i = 0; i < DH.length; i++) {
if(DH[i] == '1'){
jiu *= 2;
}else {
jiu --;
}
}

if(jiu == 0){
String a = String.copyValueOf(DH);
a = a.replace("1", "a");
a = a.replace("0", "b");
System.out.println(a);
return true;
}
return false;
}
}

1年前 追问

6

chapinlzp 举报

能解释解释吗
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 18 q. 0.040 s. - webmaster@yulucn.com