Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def der(p, n):
- res = [0]*(n-1)
- for i in range(n - 1):
- res[i] = p[i] * (n - i - 1)
- return res
- def value(p, x):
- n = len(p)
- val = 0
- for i in range(n):
- val += (x ** (n - i - 1)) * p[i]
- return val
- def solution(n, p):
- x0 = 1
- eps = 1e-6
- max_iters = 1e6
- x, x_prev, i = x0, x0 + 2*eps, 0
- if value(p, x0) == 0:
- return x0
- while abs(x - x_prev) >= eps and i < max_iters:
- x, x_prev, i = x - value(p, x) / value(der(p, n+1), x), x , i + 1
- return x
- n = int(input())
- print(solution(n, [float(i) for i in input().split()]))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement