fork download
  1.  
  2. import java.util.*;
  3. import java.lang.*;
  4. import java.io.*;
  5. import java.lang.Math;
  6.  
  7. class Main
  8. {
  9. public static void main (String[] args) throws java.lang.Exception
  10. {
  11. Scanner in=new Scanner(System.in);
  12. double x, sum = 1, delta, elem = 1;
  13. x=in.nextDouble();
  14. delta=in.nextDouble();
  15. double co = Math.cos(x), rs = 1 + delta;
  16. for (int i = 1; rs > delta; i++)
  17. {
  18. elem *= - x * x / (2 * i * (2 * i - 1)); //рекурсивно выражаем каждый элемент суммы
  19. sum += elem; // сумируем
  20. rs = Math.abs(co - sum); // вычисляем модуль разницы для оценки точности
  21. System.out.printf("Step: %d %8.6f \n", i, sum); // выводим номер шага и значение суммы на этом шаге
  22. }
  23. System.out.printf("Value: %8.6f ~ %8.6f", sum, co); //выводим конечное значение
  24. }
  25. }
Success #stdin #stdout 0.15s 321344KB
stdin
2.09	  	  0.00001	-0.496189
stdout
Step: 1  -1.184050  
Step: 2  -0.389038  
Step: 3  -0.504794  
Step: 4  -0.495765  
Step: 5  -0.496203  
Step: 6  -0.496189  
Value:  -0.496189 ~  -0.496189