DaniDori

Вычисление многочлена

Feb 24th, 2020
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.19 KB | None | 0 0
  1. package com.company;
  2. import java.lang.reflect.Array;
  3. import java.util.Arrays;
  4. import java.util.Scanner;
  5.  
  6. import static java.util.Arrays.copyOf;
  7.  
  8. public class Main {
  9.  
  10. public static void main(String[] args) {
  11. Scanner in=new Scanner(System.in);
  12. System.out.println("Введите максимальную степень многочлена");
  13. int n=0;
  14. if(in.hasNextInt()) {
  15. n = in.nextInt();
  16. if(n<0){
  17. System.out.println("Некоректный ввод");
  18. return;
  19. }
  20. }
  21. else {
  22. System.out.println("Некорректный ввод");
  23. return;
  24. }
  25.  
  26. double coefficient[]=new double[n+1];
  27. System.out.println("Поочередно введите " + (n+1) + " коэфициентa(ов) многочлена, от старшего к младшему");
  28. for(int i=0; i<=n; i++)
  29. if(in.hasNextDouble())
  30. coefficient[i]=in.nextDouble();
  31. else{
  32. System.out.println("Некоректные данные");
  33. return;
  34. }
  35. System.out.println("Введите значение функции в точке");
  36. double x=0;
  37. if(in.hasNextInt()) {
  38. x = in.nextDouble();
  39. }
  40. else{
  41. System.out.println("Некорректный ввод");
  42. return;
  43. }
  44. System.out.println("Значение функции в точке равно:");
  45. System.out.println(func(x, coefficient, n));
  46. System.out.println("Производная в точке равна");
  47. System.out.println(derivate(x, coefficient, n));
  48. }
  49.  
  50. public static double func(double x, double coefficient[], int num){
  51. double sum=0;
  52. for(int i=num; i>=0; i--){
  53. sum+=(Math.pow(x, i)*coefficient[i]);
  54. }
  55. return sum;
  56. }
  57. public static double derivate(double x, double coefficient[], int num){
  58. double sum=0;
  59. for(int i=num; i>0; i--){
  60. sum+=(Math.pow(x, i-1)*coefficient[i]*i);
  61. }
  62. return sum;
  63. }
  64. }
Add Comment
Please, Sign In to add comment