fork download
  1. def inverse(L):
  2. fac = 1
  3. i = 1
  4. n = len(L)
  5.  
  6. for x in range(n):
  7. L[n-x-1] *= fac
  8. fac *= i
  9. i += 1
  10.  
  11. E = [L[0]*L[0]] + [0]*(n-1)
  12. I = []
  13.  
  14. for x in range(n):
  15. I.append(E[x]//L[0])
  16. for y in range(x,n):
  17. E[y] -= I[x]*L[y-x]
  18.  
  19. for y in range(0,n-x):
  20. L[y] //= n-x-y
  21.  
  22. for x in range(n):
  23. I[x] //= fac
  24. i -= 1
  25. fac //= i
  26.  
  27. return I
  28.  
  29. print(inverse([1,0,-1,0,1,0,-1,0]))
  30. print(inverse([1,2,4,8,16,32,64]))
  31. print(inverse([1,-1,0,0,0,0,0,0]))
Runtime error #stdin #stdout #stderr 0.03s 9984KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Traceback (most recent call last):
  File "./prog.py", line 29, in <module>
  File "./prog.py", line 15, in inverse
ZeroDivisionError: integer division or modulo by zero