题解 | #求解立方根#
求解立方根
https://www.nowcoder.com/practice/caf35ae421194a1090c22fe223357dca
import sys
def x3(s_input):
if s_input == 0:
return 0
elif s_input < 0:
left = -20
right = 0
x = -2
s1 = -8
while abs(s1 - s_input) > 0.01:
if s1 < s_input:
left = x
elif s1 > s_input:
right = x
else:
return x
x = right - (right - left)/2
s1 = x*x*x
return x
else:
left = 0
right = 20
x = 2
s1 = 8
while abs(s1 - s_input) > 0.01:
if s1 < s_input:
left = x
elif s1 > s_input:
right = x
else:
return x
x = left + (right - left)/2
s1 = x*x*x
return x
for line in sys.stdin:
a = line.split()
s_input = float(a[0])
x1 = x3(s_input)
print("{:.1f}".format(x1))