题解 | #求解立方根#

求解立方根

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

f = float(input())
zs = -1 if f < 0 else 1
f = abs(f)
i = 0
while (i+1)**3<f:
    i += 1
while (i+0.05)**3<f:
    i+= 0.051
print('%.1f'%(i*zs))

还是遇到一点坑的,首先就是题目的开方是需要四舍五入的,所以在0.1的层面及逆行逼近的时候就需要每0.05进行逼近,还有就是题目需要考虑复数的情况,同时python的float类型本身就是有误差的,在0.05的时候有时候进一位有时候抹一位的,这是要么用更精确的Decimal,要么就像现在这样i+0.051,确保能正确进一位

全部评论

相关推荐

xxxxOxo:该催就催,想要你的不会因为催就挂,催了就挂的是因为本来就要挂你
点赞 评论 收藏
分享
求面试求offer啊啊啊啊:把华北改为华南再试一试,应该就没啥问题了。改完可能都不用投,别人主动联系了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务