题解 | #求解立方根#
求解立方根
https://www.nowcoder.com/practice/caf35ae421194a1090c22fe223357dca
m = float(input())
n = m
if m<0:
m =- m
m = int(1000*m)
l = []
for i in range(m):
l.append(i*i*i-m)
a = m
for j in l:
if j < 0 and -j < a:
a = -j
elif j>=0 and j<a:
a = j
if a in l:
b = float(l.index(a))/10
else:
b = float(l.index(-a)) / 10
if n>=0:
print(b)
else:
print(-b)
将输入的数字m扩大1000倍,然后从0开始遍历,找出i*i*i-1000*m的绝对值最小的那个就是答案。