第七届蓝桥决赛javaB组(T1)

愤怒小鸟

X星球愤怒的小鸟喜欢撞火车!

一根平直的铁轨上两火车间相距 1000 米
两火车 (不妨称A和B) 以时速 10米/秒 相对行驶。

愤怒的小鸟从A车出发,时速50米/秒,撞向B车,
然后返回去撞A车,再返回去撞B车,如此往复....
两火车在相距1米处停车。

问:这期间愤怒的小鸟撞 B 车多少次?

注意:需要提交的是一个整数(表示撞B车的次数),不要填写任

何其它内容。

public class Main1_2 {
    public static void main(String[] args) {
        Long d = 1000 * 1000L;    //将辆车初始的距离初始化为(1000*1000毫米)
        Long l = d;                //刚装完一车,反向时,小鸟与另一相对行驶的车之间的距离
        Long b = 0L;            //小鸟飞行的距离
        Long t = 0L;            //A(B)车行驶的
        int flag = 1;            //1:向B车行驶;0:向A车行驶
        int sum = 0;            //小鸟撞向B车的次数
        while (d > 1000) {        //辆车
            if (b + t >= l) {    //如果(与鸟相对行驶的车)A(B)与小鸟行驶的距离之和大于辆车的距离(即小鸟撞向了一车)
                b = 0L;            //将车行驶的距离置零
                t = 0L;            //将小鸟行驶的距离置零
                l = d;            
                if (flag == 1)
                    sum = sum + 1;
                flag = -flag;    //向A车飞行
            }
            t = t + 1;
            b = b + 5;
            d = d - 2;
        }
        System.out.println(sum);
    }
}

计算结果为:9次
原文地址:https://www.cnblogs.com/ting1996/p/6767027.html