主题:请教下,李白买酒的问题
lqapple
[专家分:0] 发布于 2009-05-16 21:02:00
李白街上走,提壶去买酒
遇店加一倍,见花喝一斗
五遇花和店,喝光壶中酒
请问壶中原来有多少斗酒?
(使用for循环结构)
回复列表 (共2个回复)
沙发
amei302010 [专家分:0] 发布于 2009-05-22 22:59:00
下面是遇一次店再遇一次花,用逆推法:
假设最后一次遇花喝一斗为1。
店 花 店 花 店 花 店 花
0.96875 1.9375 0.9375 1.875 0.875 1.75 0.75 1.5
店 花
0.5 1
public class Demo{
public static void main(String[] args){
double h=0; // h表示最后喝完的酒的斗数
double y; // y表示酒壶中原有的酒的斗数
for(int i=1;i<=5;i++){
h=h+1; //最后一次遇花时应有酒1斗
y=h/2.0; //遇店加一倍,逆向就乘以1/2
}
System.out.println("李白壶中原有 "+y+" 斗酒");
}
}
板凳
forever1211 [专家分:10] 发布于 2009-05-30 09:00:00
想的很不错!逆推法......
我来回复