回 帖 发 新 帖 刷新版面

主题:请教下,李白买酒的问题

李白街上走,提壶去买酒

遇店加一倍,见花喝一斗

五遇花和店,喝光壶中酒

请问壶中原来有多少斗酒?

(使用for循环结构)

回复列表 (共2个回复)

沙发


   下面是遇一次店再遇一次花,用逆推法: 
     假设最后一次遇花喝一斗为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+" 斗酒"); 
    } 

板凳

想的很不错!逆推法......

我来回复

您尚未登录,请登录后再回复。点此登录或注册