愤怒小鸟
X星球愤怒的小鸟喜欢撞火车!
一根平直的铁轨上两火车间相距 1000 米
两火车 (不妨称A和B) 以时速 10米/秒 相对行驶。
愤怒的小鸟从A车出发,时速50米/秒,撞向B车,
然后返回去撞A车,再返回去撞B车,如此往复....
两火车在相距1米处停车。
问:这期间愤怒的小鸟撞 B 车多少次?
注意:需要提交的是一个整数(表示撞B车的次数),不要填写任何其它内容。
坐标法 思路:
假设在一个坐标轴上,A车位于0,B车位于1000,愤怒的小鸟每次从某车开始撞向另一车,设用时为t,就能得出以下公式:
50t=(b-a)-10t
t=(b-a)/60
就可以求得小鸟从某车开始撞向另一车所用的时间t
然后对修改A,B两车当前的坐标继续循环即可
a=0
b=1000
cnt=0
while(a<b-1):
temp=(b-a)/60
a+=temp*10
b-=temp*10
cnt+=1
print(cnt)
结果:18(答案:9)(表示撞B车的次数)
距离法:
dis=1000
n=0
while dis>=1:
t=dis/(50+10)
n=n+1
dis=dis-t*10-t*10
print(n,dis)
结果:18 0.6766394845988635 (答案:9)(表示撞B车的次数)
(注:当最后一次撞的时B车时,由于其距离小于1,所以最后一次撞车不算,所以计数器要减1)