使用for循环结构编程实现.

来源:百度知道 编辑:UC知道 时间:2024/05/22 03:08:19
李白无事街上走,提壶去买酒.见花喝一斗,遇店加一半,五遇花和店,喝光壶中酒.试问李白壶中原有多少酒?

package huaDian;

class Test {
public static void main(String[] args) {
float x=0; //开始有酒0(逆序执行 最后喝光壶中酒)
int hua=0; //遇花次数
int dian=0; //遇店次数 (hua+dian)<=10
int[] array={-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}; //用于反向记录遇花和店的过程
hardDrink(x,hua,dian,array);
}
public static void hardDrink(float x,int hua,int dian,int[] array){
for(int i=0;i<2;i++){
if(i==0){ //遇到店
float xCopy=x;
int dianCopy=dian;
dianCopy++;
if(dianCopy>5){
dianCopy--;
}else{
xCopy=xCopy/2;
if((hua+dianCopy)<10){
int[] arrayCopy=array;
arrayCopy[hua+dianCopy-1]=0;
hardDrink(xCopy,hua,dianCopy,arrayCopy);
}else{
int[] arrayCopy=array;
arrayCopy[hua+dianCopy-1]=0;
System.out.println(xCopy);
print(arrayCopy); //输出实际的遇花遇店过程
}
}
}
if(