李白无事街上走,提壶去买酒。遇店加一倍,见花喝一斗,五遇花和店,喝光壶中酒,试问李白壶中原有多少斗酒?(使用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次,还是各五次呢??如果是各五次,那也得有个先后顺序问题啊》》
有最后的-喝光壶中酒,可知最后遇到的是花。在遇到花之前是什么呢?花还是店呢?
总之有问题:改为求整数解可能行。