1、愤怒小鸟(填空)
X星球愤怒的小鸟喜欢撞火车!
一根平直的铁轨上两火车间相距 1000 米
两火车 (不妨称A和B) 以时速 10米/秒 相对行驶。
愤怒的小鸟从A车出发,时速50米/秒,撞向B车,
然后返回去撞A车,再返回去撞B车,如此往复....
两火车在相距1米处停车。
问:这期间愤怒的小鸟撞 B 车多少次?
注意:需要提交的是一个整数(表示撞B车的次数),不要填写任何其它内容。
1 public class One { 2 //A、B的位置a、b的大小相对于A的起点而言,小鸟的速度为50,A、B的速度都为10 3 public static double sum=0;//sum用于鸟和B在规定期间相撞的次数 4 public static void funb(double a,double b){//在路程a、b间鸟由A撞向B 5 if(b-a<=1){ 6 System.out.println(sum); 7 return; 8 } 9 double time=(b-a)/(50+10);//距离为a、b期间鸟和B相撞的时的时间 10 a=a+10*time;//撞后A的位置 11 b=b-10*time;//撞后B的位置 12 sum++; 13 funa(a,b);//鸟和B相撞后鸟转向A而行 14 return; 15 } 16 17 public static void funa(double a,double b){//鸟由B向A飞行 18 if(b-a<1){//若鸟和B撞完后AB距离小于1,则sum-- 19 sum--; 20 System.out.println(sum); 21 } 22 double time=(b-a)/(50+10); 23 a=a+10*time;//撞后A的位置 24 b=b-10*time;//撞后B的位置 25 funb(a,b); 26 return; 27 } 28 public static void main(String args[]){ 29 double a=0,b=1000; 30 funb(a,b); 31 } 32 }