![]() |
|
|
![]()
|
|
| valdoo |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 15.9.2005 Репутация: нет Всего: нет |
Помогите найти ефективмый алгоритм подсчота очень больших факториалов.
заранее спасибо |
|||
|
||||
| podval |
|
|||
![]() Где я? Кто я? ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3094 Регистрация: 25.3.2002 Где: СПб Репутация: 18 Всего: 62 |
По теме, но не ответ на поставленный вопрос.
В советском калькуляторе "Электроника МК-35", видимо, был очень эффективный алгоритм. Считался практически мгновенно.
История отечественных калькуляторов Вопрос - как именно? |
|||
|
||||
| esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
Может быть используя приближение Стирлинга
-------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
| yaja |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 30.3.2005 Где: Санкт-Петербург Репутация: нет Всего: 1 |
НЕт, поскольку она имеет только теоретический интерес, там сходимость очень медленная |
|||
|
||||
| esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
В относительной ошибке - сходимость очень быстрая.
-------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
| jxr |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 338 Регистрация: 31.7.2005 Репутация: нет Всего: нет |
Создай свой модул (class C++).
Например , что бы работать с числами по 100 цирфам 0...000 ---- 9...999 (100 цифр ) Операции: +,-,* ... Входяшие и выхожяшие будет STRING тип !!! думаете может не правилно ... |
|||
|
||||
| valdoo |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 15.9.2005 Репутация: нет Всего: нет |
приближение Стирлинга мне неподходит. мне нужен точный пезультат.
С длинной цыфр тоже проблем нет. единственная проблема заключается в том что подщёты праисходят очень медленно. Это сообщение отредактировал(а) valdoo - 29.10.2005, 13:06 |
|||
|
||||
| Stream |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 29.10.2005 Репутация: нет Всего: нет |
А если воспользоваться формулой Стирлинга и применить к ней логарифм по основанию 10?
|
|||
|
||||
| yaja |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 30.3.2005 Где: Санкт-Петербург Репутация: нет Всего: 1 |
Что-то я подумал
Просто для большинства чисел, его факториал не влезет ни в одну из переменных, поэтому пользуются длинной арифметикой. Дык может существует способ, позволяющий минимизировать чило действий с длинными числами. И именно это спрашивает автор?? Мне сложно представить функцию, равную n! и позволяющую бысто высчитывать свои значени. Собственно мне такая функция известна, но имхо проще перемножить n - 1 чисел n! = Г(n + 1); Г(s) = интеграл от 0 до + бесконечности ((x^(s - 1)) * exp(-x) * dx) - гамма функция Эйлера (формула Стирлинга выводится из ней) |
|||
|
||||
| esperant0 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
Если уж на то пошло, то есть бесканечное кол-во ф-й дающих факториал.\
Формулу Стирлинга нам доказали в школе, разумеется без Гамма и Бетта ф-й -------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
каков верхний порог основания? -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| yaja |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 30.3.2005 Где: Санкт-Петербург Репутация: нет Всего: 1 |
Вывод формулы Стирлинга без функций Эйлера возможен, но он очень искусственный и не имеет теоретического интереса. А зная функцию Эйлера, формула Стирлинга получается буквально за одну строчку |
|||
|
||||
| esperant0 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 714 Регистрация: 20.5.2005 Репутация: 4 Всего: 14 |
Термин исскуственное док-во плохо определен, но я с Вами не согласен -------------------- Student->Teacher Assistant ->Research assistant->Microsoft Software Development Engineer Пользователь получил наказание за то, что проигнорировал замечание которое было написано модератором а затем стерто и которое он - пользователь не мог видеть. |
||||
|
|||||
| yaja |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 30.3.2005 Где: Санкт-Петербург Репутация: нет Всего: 1 |
ээ ну мы уже при доказательстве знали формулу Стирлинга (как бы её из потолка взяли). Совсем непонятно кому она пришла в голову(это я шучу |
|||
|
||||
| Guest |
|
||||
|
Unregistered |
Мне нужны факториалы ~1.000.000 и больше. Пришлось всё делать попростому n!=1*2*...*(n-1)*n Занимает мноооого времени |
||||
|
|||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |