fork download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4. class Limit
  5. {
  6. public static void main (String[] args) throws java.lang.Exception
  7. {
  8. double ee, dife;//Описание переменных для хранения входных данных.//
  9. Scanner in = new Scanner(System.in);
  10. double E = Math.abs(in.nextDouble());//Чтение из стандартного потока ввода.//
  11. int n = 0; //Присвоение значения переменной (от которой зависит цикл).//
  12. if (Math.abs(E) == 0)
  13. {
  14. System.out.printf("Погрешность равна 0, тогда e=" + Math.E + ", а n=infinity");
  15. }
  16. else
  17. {
  18. do //Сам цикл программы//
  19. {
  20. n++;
  21. ee = Math.pow (1 + 1 / (double)n, (double)n); //Вычисление значения последовательности при n=1,2,3,..//
  22. dife = Math.E - ee; //Вычисление разности полученного значения и константы//
  23. }
  24. while (Math.abs(dife) > E); //Конечный критерий, при котором цикл останавливается//
  25. //Вывод окончательных результатов на экран//
  26. System.out.printf("После n=" + n + " исследуемое выражение отличается от е менее, чем на " + Math.abs(E) + ", а именно на " + dife + "\n");
  27. System.out.printf("Значение последовательности при таком n=" + ee + ", e=" + Math.E);
  28. }
  29. }
  30. }
Success #stdin #stdout 0.18s 321344KB
stdin
0.005
stdout
После n=271 исследуемое выражение отличается от е менее, чем на 0.005, а именно на 0.004998375312020631
Значение последовательности при таком n=2.7132834531470245, e=2.718281828459045