fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Brovko
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. int n=0;
  13. double x, E, left, right=0.0, differ; //начальные переменные.
  14. Scanner in = new Scanner(System.in); //ввод аргумента и погрешности.
  15. x=in.nextDouble();
  16. E=in.nextDouble();
  17. if(Math.abs(x)>1) //Модуль аргумента не должен превышать единицу.
  18. {
  19. System.out.printf("Некорректно задан аргумент x (|x|<1)");
  20. }
  21. else
  22. {
  23. left=(Math.pow(Math.PI,2)/8)-((Math.PI/4)*Math.abs(x)); //вычисление левой части.
  24. if (E!=0)
  25. {
  26. do
  27. {
  28. right+=Math.cos((2*n+1)*x)/((4*n*n)+4*n+1); //вычисление правой части.
  29. n++;
  30. differ=right-Math.abs(left); //разность левой и правой части.
  31. }
  32. while (differ>E); //условие, при котором цикл останавливается.
  33. System.out.printf("Левая часть равна = %.10f \nПравая часть равна = %.10f \n",left,right);
  34. System.out.printf("После n=%d правая часть исследуемого выражения отличается от левой части более, чем на %.10f,", n, E);
  35. System.out.printf("а именно на %.10f \n",Math.abs(differ));
  36. }
  37. else
  38. {
  39. System.out.printf("Погрешность равна 0, тогда правая часть стремится к левой, и равняется %.10f, тогда n стремится в бесконечность",left);
  40. }
  41. }
  42. }
  43. }
Success #stdin #stdout 0.15s 321344KB
stdin
0.4	0
stdout
Погрешность равна 0, тогда правая часть стремится к левой, и равняется 0.9195412848, тогда n стремится в бесконечность