日期:2014-05-20  浏览次数:20674 次

一道编程题——求解!!
李白无事街上走,提壶去买酒。遇店加一倍,见花喝一斗,五遇花和店,喝光壶中酒,试问李白壶中原有多少斗酒?(使用for循环结构编程实现)

小弟怎么也想不通,求高手讲解,先谢过了。


------解决方案--------------------
double wine = 0;
for(int i=0;i<5;i++){
wine =(wine+1)/2;
System.out.println(wine);
}
------解决方案--------------------
楼上说的对.
Java code
import java.util.*;
public class Test1{
    public static void main(String[] args){
        //josephus(8,3);
        System.out.println(liBai());

    }
    public static  float liBai(){
        float x=0.0f;
        for(int i=5;i>=1;i--){
            x+=1;
            System.out.println("第"+i+"次遇到花店前,壶中洒为:"+x);
            x/=2;
            System.out.println("第"+i+"次遇到酒店前,壶中洒为:"+x);
        }
        return x;
    }
}

------解决方案--------------------
有歧义啊,遇店加一倍,见花喝一斗,五遇花和店,喝光壶中酒。
五遇花和店,到底是总共遇到5次,还是各五次呢??如果是各五次,那也得有个先后顺序问题啊》》


有最后的-喝光壶中酒,可知最后遇到的是花。在遇到花之前是什么呢?花还是店呢?
总之有问题:改为求整数解可能行。