Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
12 / 12 / 1
Регистрация: 16.07.2012
Сообщений: 754
1

Как сделать бесконечный генератор иррационального числа

04.06.2020, 22:24. Показов 1005. Ответов 5

Author24 — интернет-сервис помощи студентам
Добрый день.
Когда-то давно я видел страницу сайта, где бесконечно генерируется число Пи (3.14). К сожалению, сейчас я не смог найти этот сайт.
По этому принципу я хотел бы написать генератор числа e (2.71).
Для начала я проверил точность JS.
Javascript
1
2
3
4
5
6
7
8
9
function factorial(n) {
  return (n != 1) ? n * factorial(n - 1) : 1;
}
 
e=1;
for(i=1;i<20;i++){
    e=e+(1/factorial(i));
    document.write(e+'<br>');
    }
Максимальная точность оказалась 2.7182818284590455.
Как можно сделать бесконечный вывод числа e (2.71)?
Полагаю, число Пи расчитывается похожим образом.
Заранее благодарен за ответ.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2020, 22:24
Ответы с готовыми решениями:

Как сделать бесконечный цикл
Что тут нужно поменять что бы был бесконечный цикл. Помогите пожалуйста. cseg segment org 100h...

Как сделать бесконечный цикл?
Помогите переделать код так, чтобы после угадывания слова код предлагал сыграть в игру снова, а не...

Как сделать бесконечный реконект к серверу?
Кто-нибудь подскажет, как сделать бесконечный реконнект к серверу, пока он не зайдет на сервер? Я...

Как сделать бесконечный цикл операции
program procenti; var a,b,c,d,e: real; begin writeln(' Сумма '); readln(a); b:=(5*a)/100;...

5
6269 / 2507 / 739
Регистрация: 11.04.2015
Сообщений: 4,044
Записей в блоге: 43
04.06.2020, 22:41 2
alanat, ну придумать как это можно выводить потенциально бесконечно, наверно можно, я того сайта не видел, так что не очень понимаю, что это значит. Другой вопрос: где гарантия,что это будут правильные цифры? Тот алгоритм, что ты привел для этой задачи точно не годится. Да, все члены ряда - числа рациональные, но рациональные числа тоже бывают бесконечными дробями и на компьютере они будут представлены в урезанном виде. Соответсвенно, каждое такое округление - это потеря точности. Если ты работаешь с числами с ограниченным количеством значимых цифр, то это не проблема, но вот для решения означенной задачи это недопустимо. В теории можно рассчитать достаточно большое количество знаков, например используя тип BigInteger. Сам по себе он не подойдет, но на его базе можно реализовать длинные рациональные числа и операции над ними в виде операций над обыкновенными дробями. Но даже это все равно даст какую-то ограниченную точность, хотя потенциально она может быть довольно большой. Ну и кода будет побольше и посложнее он будет.
0
12 / 12 / 1
Регистрация: 16.07.2012
Сообщений: 754
04.06.2020, 22:49  [ТС] 3
Цитата Сообщение от diadiavova Посмотреть сообщение
так что не очень понимаю, что это значит
Там выводилось число Пи.
Сначала выводилось 3, следом 1, 4, 1, 5 и т.д. Не знаю, как это было реализовано. Конечно, это выводилось быстро.
Скорее всего это было на JS, т.к. на php это потребовало бы больших ресурсов сервера.
0
6269 / 2507 / 739
Регистрация: 11.04.2015
Сообщений: 4,044
Записей в блоге: 43
04.06.2020, 22:53 4
alanat, ну первую, скажем тысячу цифр можно даже из википедии взять. Наверно можно найти и больше, если задаться целью. Я сильно сомневаюсь, что они это вычисляли и при этом вычисляли точно.
0
6269 / 2507 / 739
Регистрация: 11.04.2015
Сообщений: 4,044
Записей в блоге: 43
05.06.2020, 10:53 5
Собственно вот 2 миллиона первых цифр числа e. Если каждая цифра будет светиться на экране одну секунду, то запаса хватит больше чем на три недели. Не бесконечность, конечно, но я подозреваю, что дождаться конца последовательности вряд ли у кого-то терпения хватит ))
2
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,625
05.06.2020, 22:24 6
Цитата Сообщение от alanat Посмотреть сообщение
где бесконечно генерируется число Пи (3.14).
косинус угла 180 градусов равен -1
разложите арккосинус -1 в ряд тейлора и считайте сумму ряда, в какой-то момент она достигнет числа пи с нужной вам точностью

в общем, это никакая не "генерация", а приближённое вычисление значения функции в какой-то точке путём разложения её в ряд
и какое число суммы в итоге получится (рациональное или иррациональное) заранее неизвестно
0
05.06.2020, 22:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2020, 22:24
Помогаю со студенческими работами здесь

Как сделать бесконечный цикл картинок?
Здравствуйте! Помогите начинающему. Как сделать бесконечный цикл картинок? Как Gif. Делаю для...

Написать бесконечный генератор частичных сумм ряда Лейбница для π
Добрый день! Необходимо написать бесконечный генератор частичных сумм ряда Лейбница для π:...

Как сделать бесконечный блок с прокруткой право(влево)
Здравствуйте, хочу добавить на сайт ленту, которая допустим каждые 20 секунд прокручивается дальше...

Как сделать бесконечный цикл при нажатии на кнопку
Я пробовал написать об этом в топике https://www.cyberforum.ru/windows-forms/thread1551941.html, но...

Как сделать, чтобы при вводе в меню (через switch) букв, не выпадал бесконечный цикл
Помогите, пожалуйста! Когда ввожу переменную не типа int, а допустим слово, то происходит...

Как сделать генератор цвета
Ответ функции должен выводиться случайным цветом при помощи генератора &lt;script&gt; var...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru