蓝桥杯题目愤怒的小鸟

上个星期在了解蓝桥杯时看到了一个挺有意思的题目,分享一下

愤怒小鸟

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

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

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

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

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

感觉这个题目有点像小时候玩的三维弹球游戏 哈哈(两辆火车之间的距离越近,小鸟就弹的越快= =)

思路的话就是计算出小鸟和火车相撞所花的时间,然后根据花费的时间求出剩下的路程,计数器+1,不断循环直到火车间剩余距离小于1

上代码

public class Main {
    // 总路程
    double t = 1000;
    // 秒
    double secs = 0;
    // 计数器
    int count = 0;
    int count_b = 0;

    private void bounce() {
        // 剩余路程不能大于1
        while (t >= 1) {
            // 小鸟和火车相撞花费的时间(秒)
            secs = t / 60;
            // 两辆火车的距离(小鸟和火车相撞后)
            t = t - (secs * 10 * 2);
            count++;

            // 判断 撞到了B车
            if(count % 2 != 0) {
                count_b ++;
            }

        }
        System.out.println("共碰撞 " + count + " 次");
        System.out.println("撞到 " + count_b + " 次B车");
    }

    public static void main(String[] args) {
        Main main = new Main();
        main.bounce();
    }
}

你可能感兴趣的:(Java)