|
发表于 2020-4-7 16:13:59
|
显示全部楼层
本楼为最佳答案
- width=int(input('输入厚度值:'))
- br,sr=1,1
- sbr,ssr=0,0
- dist,tmp=0,0
- day=0
- while True:
- if dist >= width:
- print('需要%d天相遇'%day)
- bd = sbr-br/2 #相遇前一天大老鼠走的距离
- sd = ssr-sr*2 #相遇前一天小老鼠走的距离
- br_dist=bd+br/((4*sr)+br)*(width - tmp) # 相遇当天大鼠行进距离
- sr_dist=sd+4*sr/((4*sr)+br)*(width - tmp) #相遇当天小鼠行进距离
- print('大鼠行进距离为%.1f,小鼠行进距离为%.1f'%(br_dist,sr_dist))
- break
- tmp = dist # 记录上轮循环打了的距离
- # 本轮进展:
- sbr += br # 大老鼠行进距离
- ssr += sr # 小老鼠行进距离
- dist = sbr+ssr # 本轮结束后打的距离
- br,sr =br*2,sr/2 # 下一轮可以打的距离
- day += 1
复制代码 |
|