Advertisement
Guest User

Untitled

a guest
Oct 21st, 2014
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. def pol_coef(n, val_list):
  2. coef_list = []
  3. matrix = [ [] for i in range(n)]
  4. #Matrix for divided differences
  5. for i in range(n):
  6. matrix[i].append(float(val_list[i]))
  7. #starting point for divided differences - bottom up
  8. for j in range(1,n):
  9. for i in range(j,n):
  10. matrix[i].append( (matrix[i][j-1] - matrix[i-1][j-1]) / (j) )
  11. #Completing the divided Differences
  12. for i in range(0,n):
  13. coef_list.append((matrix[i][i]))
  14. return(coef_list)
  15.  
  16. def horner_print(n, m, coef_list):
  17. out = []
  18. for k in range(n, n+m):
  19. val = coef_list[n-1]
  20. for i in [(n-j) for j in range(2, n+1) ]:
  21. val = val*(k-i) + coef_list[i]
  22. out.append(str(round(val)))
  23. print(" ".join(out))
  24.  
  25.  
  26.  
  27.  
  28. for times in range(int(input())):
  29. n_m = input().split(" ")
  30. val_list = input().split(" ")
  31. horner_print( int(n_m[0]), int(n_m[1]), pol_coef( int(n_m[0]), val_list) )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement