fork download
  1. import java.util.*;
  2.  
  3. class Main
  4. {
  5. static double e = Math.exp(1);
  6.  
  7. static double bin_pow(double x, int n){
  8. if(n == 1) return x;
  9. if(n%2 == 1) return bin_pow(x, n-1)*x;
  10. double b = bin_pow(x, n/2);
  11. return b*b;
  12. }
  13.  
  14. static double Rn(int n){
  15. double v = e/(2*n+1);
  16. return bin_pow(v, 2*n+1)/(1-v*v);
  17. }
  18.  
  19. public static void main (String[] args)
  20. {
  21. Scanner in = new Scanner(System.in);
  22. double eps, sum = 0, last=0;
  23. int n = 0;
  24. eps = in.nextDouble();
  25. do{
  26. n++;
  27. if(n > 1) last /= (2*n-2)*(2*n-1);
  28. else last = 1;
  29. sum += last;
  30. } while(Rn(n) > eps);
  31. System.out.print("Количество взятых членов ряда: " + n + "\nЗначение суммы: " + String.format("%.10f",sum));
  32. }
  33. }
Success #stdin #stdout 0.14s 2841600KB
stdin
1e-10
stdout
Количество взятых членов ряда: 7
Значение суммы: 1.1752011936