Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main;
- import java.util.Arrays;
- import java.util.Scanner;
- public class Apro {
- static Scanner scan = new Scanner(System.in);
- static double a = scan.nextDouble();
- static double b = scan.nextDouble();
- static int n = scan.nextInt();
- static double[][] data = new double[2][n+1];
- static double h = (b - a) / n;
- static double x = scan.nextDouble();
- public static void main(String[] args) {
- makeData();
- System.out.println(L(x));
- System.out.println(P(x));
- System.out.println(f(x));
- }
- static void makeData() {
- data[0][0] = 1;
- data[1][0] = f(data[0][0]);
- for (int i = 1; i <= n; i++) {
- data[0][i] = data[0][i-1] + h;
- data[1][i] = f(data[0][i]);
- }
- }
- static double f(double x) {
- return x*x;
- }
- static double L(double x) {
- double answer = 0;
- for (int i = 0; i < n; i++) {
- double a = 1;
- for (int j = 1; j < n; j++) {
- if (j != i) a *= ((x - data[0][j]) / (data[0][i] - data[0][j]));
- }
- answer += (a * data[1][i]);
- }
- return answer;
- }
- public static double P(double x) {
- double result = data[1][0], P, den;
- for (int i = 1; i < n; i++) {
- P=0;
- for (int j = 0; j <= i; j++){
- den=1;
- for (int k = 0; k <= i; k++){
- if (k != j) den *= (data[0][j]-data[0][k]);
- }
- P += data[1][j]/den;
- }
- for (int k=0; k<i; k++)
- P *= (x-data[0][k]);
- result += P;
- }
- return result;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement