社区讨论

求助大佬 用零点定理二分逼近零点2,4点RE

P1024[NOIP 2001 提高组] 一元三次方程求解参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@lo2uvpha
此快照首次捕获于
2023/10/23 20:10
2 年前
此快照最后确认于
2023/10/23 20:10
2 年前
查看原帖
PYTHON
a, b, c, d = map(int, input().strip().split(' '))
n = -100.0
f = lambda x: a * x ** 3 + b * x ** 2 + c * x + d
ans = []
while n < 101.0:
    if f(n) * f(n + 1) <= 0:
        left, right = 1.0 * n, 1.0 * n + 1
        mid = float()
        while right - left > 0.00001:
            mid = (right - left) / 2 + left
            if f(mid) * f(left) <= 0:
                right = mid
            else:
                left = mid
        ans.append(mid)
        n = mid
    n += 0.9999

ans = map(lambda x: '%.2f' % x, ans)
print(' '.join(ans))

改了几次可能re的点还是不行

回复

1 条回复,欢迎继续交流。

正在加载回复...