题解 | #求解立方根#

求解立方根

http://www.nowcoder.com/practice/caf35ae421194a1090c22fe223357dca

这道题使用二分查找的思想其实并不难, 难点在于如何控制终止条件, 否则可能会出错, k为val的小数位数, 我们需要使用round函数对结果进行小数点保留, 进而进行比较

val = float(input())
left, right = -20, 20
item = 0
k = len(str(val).split('.')[-1])
while left < right:
    mid = (left+right)/2
    res = round(mid**3,k)
    if res<val:
        left = mid 
    elif res>val:
        right = mid 
    else:
        print("{:.1f}".format(mid))
        break
全部评论

相关推荐

勤奋努力的椰子这就开摆:美团骑手在美团工作没毛病
投递美团等公司10个岗位
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务