fork download
  1. import numpy as np
  2.  
  3. n = int(input())
  4. s = int(input())
  5.  
  6. np.random.seed(s)
  7.  
  8. A = np.random.randint(0, 2, (n, n)).astype(float)
  9. for i in range(n):
  10. A[i, i] += np.sum(A[i])
  11.  
  12. b = np.random.randint(0, 2*n, n).astype(float)
  13.  
  14. x = np.zeros(n)
  15. for _ in range(100):
  16. xn = np.zeros(n)
  17. for i in range(n):
  18. s = b[i] - np.dot(A[i, :], x) + A[i, i] * x[i]
  19. xn[i] = s / A[i, i]
  20.  
  21. if np.linalg.norm(np.dot(A, xn) - b) < 1e-6:
  22. x = xn
  23. break
  24. x = xn
  25.  
  26. print(*x)
Success #stdin #stdout 1.07s 41384KB
stdin
4
2
stdout
2.3749999162664266 2.3749999680816645 -0.12500007328257157 -0.12500006015217835