Advertisement
Guest User

Untitled

a guest
Oct 18th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. package main;
  2.  
  3. import java.util.Arrays;
  4. import java.util.Scanner;
  5.  
  6. public class Apro {
  7. static Scanner scan = new Scanner(System.in);
  8. static double a = scan.nextDouble();
  9. static double b = scan.nextDouble();
  10. static int n = scan.nextInt();
  11. static double[][] data = new double[2][n+1];
  12. static double h = (b - a) / n;
  13. static double x = scan.nextDouble();
  14. public static void main(String[] args) {
  15. makeData();
  16.  
  17. System.out.println(L(x));
  18. System.out.println(P(x));
  19. System.out.println(f(x));
  20.  
  21. }
  22. static void makeData() {
  23. data[0][0] = 1;
  24. data[1][0] = f(data[0][0]);
  25. for (int i = 1; i <= n; i++) {
  26. data[0][i] = data[0][i-1] + h;
  27. data[1][i] = f(data[0][i]);
  28. }
  29.  
  30. }
  31. static double f(double x) {
  32. return x*x;
  33. }
  34.  
  35. static double L(double x) {
  36. double answer = 0;
  37. for (int i = 0; i < n; i++) {
  38. double a = 1;
  39. for (int j = 1; j < n; j++) {
  40. if (j != i) a *= ((x - data[0][j]) / (data[0][i] - data[0][j]));
  41. }
  42. answer += (a * data[1][i]);
  43. }
  44. return answer;
  45. }
  46. public static double P(double x) {
  47. double result = data[1][0], P, den;
  48. for (int i = 1; i < n; i++) {
  49. P=0;
  50. for (int j = 0; j <= i; j++){
  51. den=1;
  52. for (int k = 0; k <= i; k++){
  53. if (k != j) den *= (data[0][j]-data[0][k]);
  54. }
  55. P += data[1][j]/den;
  56. }
  57. for (int k=0; k<i; k++)
  58. P *= (x-data[0][k]);
  59. result += P;
  60. }
  61. return result;
  62. }
  63.  
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement