第七届蓝桥决赛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次