题解 | #游游开车出游#(Python)

游游开车出游

https://www.nowcoder.com/practice/667369e08b2f498c89a935df0af921b3

# 给出 v,x,y,求 y/(v+x*t)+t 最小
# 凹函数,先下降再上升,三分法求解
v, x, y = map(float, input().split())

def cal(t):
    return y/(v+x*t)+t

left = 0
right = 2e9
# 题目要求精确率1e-6
while(right-left>1e-7):
    fm = (right-left) / 3.0
    fl = left + fm
    fr = fl + fm
    if (cal(fl)<cal(fr)):
        right = fr
    else:
        left = fl
print('%0.9f'%cal(left))

#15天刷题#
全部评论

相关推荐

徐新高:号已经废了 建议重开一个账号投简历
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务