Ю 3.14

Задача

Проверить численно второй замечательный предел:[latex]\lim_{x\to\infty}\left(1+\frac{1}{n}\right)^n=e[/latex] , задавая n значения 1,2,3…При каком n исследуемое выражение отличается от менее, чем на заданную погрешность [latex]\varepsilon[/latex]?

Тесты

[latex]\varepsilon[/latex] n Полученное e e Разность Комментарий
1.1   1  2.0000000000 2.7182818284  0.7182818284 Пройден
 0.005  271 2.7132834531 2.7182818284 0.0049983753 Пройден
0.0000000314 32890950 2.7182817970 2.7182818284 0.0000000313 Пройден
 0 Погрешность равна 0, тогда e=2.7182818284, а n=бесконечность Не пройден

Код программы:

В данной задаче необходимо было сравнить заданную погрешность [latex]\varepsilon[/latex] с разностью между числом е и полученным значением при некотором n.

Для этого в цикле высчитывалось значение формулы [latex](1+\frac{1}{n})^{n}[/latex] при [latex]n\to \infty[/latex] и находилась разность [latex]dife=e-(1+\frac{1}{n})^{n}[/latex]. Если[latex]dife>\varepsilon[/latex] , то цикл заканчивался и программа запоминала последнее значение n и после этого выводила его на экран.

Код на Java

 

7 thoughts on “Ю 3.14

  1. — Нужно исправить отступы.
    — Вставьте ссылку на IDEone
    — В 8-й строке Вы явно перестраховались с двумя условиями 🙂
    — Нужно использовать константу M_E, которая уже задаёт е с максимальной для double точностью (описана в math.h)
    — В 18-й строке целое число выводите по формату с плавающей точкой. Исправьте, пожалуйста.

  2. — В 8 строке видимо имелось в виду E > 0?
    — В 16-й строке уместнее было бы поставить модуль у diff, а не Е. Если считать, что возможен ввод отрицательного Е, то логично считать это некорректными данными.
    А вот разность между точным и приближенным значением может иметь любой знак. Нас обычно интересует абсолютная величина погрешности. Кстати, в Вашем случае стремиться к е будет снизу.
    — 29-я строка с неправильным отступом.

    Замечания технические. Так что работу я засчитываю, но исправить нужно.

  3. Если пройдете по своей ссылке «Код на Java» и посмотрите поле stdout — увидите, что не хватает одного перевода строки перед «Значение последовательности …».