7-Java-B-1-愤怒小鸟

愤怒小鸟

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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值