题解 | #求解立方根#

求解立方根

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
全部评论

相关推荐

半解316:内容充实,细节需要修改一下。 1,整体压缩为一页。所有内容顶格。 2,项目描述删除,直接写个人工作量 修改完之后还需要建议,可以私聊
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务