Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Факториалы - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин  
Мир MS Excel » Работа и общение » Мозговой штурм » Факториалы
Факториалы
MCH Дата: Суббота, 10.11.2012, 18:27 | Сообщение № 1
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

Чтобы макрописатели не скучали в данной ветке, предлагаю задачу:

Необходимо вычислить 200! (факториал двухсот)
Нужно получить все 375 значащих цифр

Данную задучу удобнее решать на VBA но и формулами ее можно решить, правда придется задействовать много ячеек
 
Ответить
СообщениеЧтобы макрописатели не скучали в данной ветке, предлагаю задачу:

Необходимо вычислить 200! (факториал двухсот)
Нужно получить все 375 значащих цифр

Данную задучу удобнее решать на VBA но и формулами ее можно решить, правда придется задействовать много ячеек

Автор - MCH
Дата добавления - 10.11.2012 в 18:27
LightZ Дата: Суббота, 10.11.2012, 19:24 | Сообщение № 2
Группа: Авторы
Ранг: Форумчанин
Сообщений: 120
Репутация: 48 ±
Замечаний: 0% ±

Хм, у меня с типом Variant факториал вычисляется только до 170


E-mail: overseerpower@gmail.com
Skype: Bogdan_Rud
WMR: R166238237296
 
Ответить
СообщениеХм, у меня с типом Variant факториал вычисляется только до 170

Автор - LightZ
Дата добавления - 10.11.2012 в 19:24
Serge_007 Дата: Суббота, 10.11.2012, 19:25 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (LightZ)
с типом Variant факториал вычисляется только до 170

В Excel тоже smile


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (LightZ)
с типом Variant факториал вычисляется только до 170

В Excel тоже smile

Автор - Serge_007
Дата добавления - 10.11.2012 в 19:25
LightZ Дата: Суббота, 10.11.2012, 19:31 | Сообщение № 4
Группа: Авторы
Ранг: Форумчанин
Сообщений: 120
Репутация: 48 ±
Замечаний: 0% ±

Так это опечатка или действительно каким-то образом можно вычислить факториал 200 (в Экселе)?
В ВБА начиная со 171! = возвращается бесконечность


E-mail: overseerpower@gmail.com
Skype: Bogdan_Rud
WMR: R166238237296
 
Ответить
СообщениеТак это опечатка или действительно каким-то образом можно вычислить факториал 200 (в Экселе)?
В ВБА начиная со 171! = возвращается бесконечность

Автор - LightZ
Дата добавления - 10.11.2012 в 19:31
Serge_007 Дата: Суббота, 10.11.2012, 19:37 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Думаю что Михаил не ошибается.
Раз сказал - значит можно


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеДумаю что Михаил не ошибается.
Раз сказал - значит можно

Автор - Serge_007
Дата добавления - 10.11.2012 в 19:37
ZORRO2005 Дата: Суббота, 10.11.2012, 22:06 | Сообщение № 6
Группа: Друзья
Ранг: Обитатель
Сообщений: 382
Репутация: 148 ±
Замечаний: 0% ±

Excel2010
Quote (Serge_007)
Думаю что Михаил не ошибается. Раз сказал - значит можно

Согласен.
Quote (MCH)
Нужно получить все 375 значащих цифр

Конкатенация, думаю, может помочь получить текст длиною 375 знаков.
 
Ответить
Сообщение
Quote (Serge_007)
Думаю что Михаил не ошибается. Раз сказал - значит можно

Согласен.
Quote (MCH)
Нужно получить все 375 значащих цифр

Конкатенация, думаю, может помочь получить текст длиною 375 знаков.

Автор - ZORRO2005
Дата добавления - 10.11.2012 в 22:06
LightZ Дата: Суббота, 10.11.2012, 23:48 | Сообщение № 7
Группа: Авторы
Ранг: Форумчанин
Сообщений: 120
Репутация: 48 ±
Замечаний: 0% ±

Quote (MCH)
придется задействовать много ячеек

Возможно это подсказка и всё очень просто? smile
Вариант см. во вложении


E-mail: overseerpower@gmail.com
Skype: Bogdan_Rud
WMR: R166238237296


Сообщение отредактировал LightZ - Суббота, 10.11.2012, 23:59
 
Ответить
Сообщение
Quote (MCH)
придется задействовать много ячеек

Возможно это подсказка и всё очень просто? smile
Вариант см. во вложении

Автор - LightZ
Дата добавления - 10.11.2012 в 23:48
MCH Дата: Суббота, 10.11.2012, 23:58 | Сообщение № 8
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

Quote (LightZ)
Вариант см. во вложении

Результат совпадает с моим

У меня есть решение на макросах и чисто на формулах, чуть позже выложу, нужно еще другим форумчанам дать подумать
 
Ответить
Сообщение
Quote (LightZ)
Вариант см. во вложении

Результат совпадает с моим

У меня есть решение на макросах и чисто на формулах, чуть позже выложу, нужно еще другим форумчанам дать подумать

Автор - MCH
Дата добавления - 10.11.2012 в 23:58
LightZ Дата: Воскресенье, 11.11.2012, 00:00 | Сообщение № 9
Группа: Авторы
Ранг: Форумчанин
Сообщений: 120
Репутация: 48 ±
Замечаний: 0% ±

MCH, вложение удалил
подождём ещё варианты wink


E-mail: overseerpower@gmail.com
Skype: Bogdan_Rud
WMR: R166238237296
 
Ответить
СообщениеMCH, вложение удалил
подождём ещё варианты wink

Автор - LightZ
Дата добавления - 11.11.2012 в 00:00
ikki Дата: Воскресенье, 11.11.2012, 17:36 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
Quote (MCH)
Чтобы макрописатели не скучали в данной ветке

спасибо, не скучали smile
получили результат (х.з. - правильный ли? biggrin )

за 2 тика (31-32 мс)
а дальше что?

как сравнить?
пс. код пока не выкладывать, что ли? biggrin
ппс. сорри, если что не так.
пппс. а вот факториал 2000 (число из 5736 цифр) у меня считается уже больше 10 сек. (точнее - 10,5-10,6)


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Воскресенье, 11.11.2012, 17:48
 
Ответить
Сообщение
Quote (MCH)
Чтобы макрописатели не скучали в данной ветке

спасибо, не скучали smile
получили результат (х.з. - правильный ли? biggrin )

за 2 тика (31-32 мс)
а дальше что?

как сравнить?
пс. код пока не выкладывать, что ли? biggrin
ппс. сорри, если что не так.
пппс. а вот факториал 2000 (число из 5736 цифр) у меня считается уже больше 10 сек. (точнее - 10,5-10,6)

Автор - ikki
Дата добавления - 11.11.2012 в 17:36
ZORRO2005 Дата: Воскресенье, 11.11.2012, 17:54 | Сообщение № 11
Группа: Друзья
Ранг: Обитатель
Сообщений: 382
Репутация: 148 ±
Замечаний: 0% ±

Excel2010
 
Ответить
Сообщениеikki,
Сравни:
http://www.dpva.info/Guide....alTable

Автор - ZORRO2005
Дата добавления - 11.11.2012 в 17:54
MCH Дата: Воскресенье, 11.11.2012, 17:57 | Сообщение № 12
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

Quote (ikki)
получили результат (х.з. - правильный ли?

я тоже не знаю правильный ли, но у меня такой же получился

Quote (ikki)
пс. код пока не выкладывать, что ли?

Подождем формулистов, может кто на формулах посчитает
 
Ответить
Сообщение
Quote (ikki)
получили результат (х.з. - правильный ли?

я тоже не знаю правильный ли, но у меня такой же получился

Quote (ikki)
пс. код пока не выкладывать, что ли?

Подождем формулистов, может кто на формулах посчитает

Автор - MCH
Дата добавления - 11.11.2012 в 17:57
ikki Дата: Воскресенье, 11.11.2012, 17:58 | Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
ZORRO2005, ну надо же - одинаково.
даже удивительно. biggrin
правда, алгоритм у меня до отвращения простой.


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщение ZORRO2005, ну надо же - одинаково.
даже удивительно. biggrin
правда, алгоритм у меня до отвращения простой.

Автор - ikki
Дата добавления - 11.11.2012 в 17:58
MCH Дата: Воскресенье, 11.11.2012, 18:18 | Сообщение № 14
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

Quote (ikki)
правда, алгоритм у меня до отвращения простой.

столбиком?
Другого не представляю
Хотя наверно можно формулу Стирлинга прикрутить, но больно она сложная для реализации

Quote (ikki)
получили результат ... а дальше что?

Думаю, что кто решил 200!, тому несложно посчитать и 1000! (2568 знаков) и 10000! (не стал считать)

Мне было интересно реализовать длинную арифметику в VBA
При поиске в интернете вариантов работы с длинной арифметикой на бейсике ничего подходящего не нашел, пришлось писать самомтоятельно, хотя алгоритмы на C имеются, а в Java вообще есть встроенный класс с длинной арифметикой, ничего самому придумывать не нужно

Реализовал несколько функций с длинкой: умножение длинных чисел, сложение/вычитание длинных чисел, деление длинного на короткое, квадратный корень пока еще не реализовал, чуть позже выложу
 
Ответить
Сообщение
Quote (ikki)
правда, алгоритм у меня до отвращения простой.

столбиком?
Другого не представляю
Хотя наверно можно формулу Стирлинга прикрутить, но больно она сложная для реализации

Quote (ikki)
получили результат ... а дальше что?

Думаю, что кто решил 200!, тому несложно посчитать и 1000! (2568 знаков) и 10000! (не стал считать)

Мне было интересно реализовать длинную арифметику в VBA
При поиске в интернете вариантов работы с длинной арифметикой на бейсике ничего подходящего не нашел, пришлось писать самомтоятельно, хотя алгоритмы на C имеются, а в Java вообще есть встроенный класс с длинной арифметикой, ничего самому придумывать не нужно

Реализовал несколько функций с длинкой: умножение длинных чисел, сложение/вычитание длинных чисел, деление длинного на короткое, квадратный корень пока еще не реализовал, чуть позже выложу

Автор - MCH
Дата добавления - 11.11.2012 в 18:18
ikki Дата: Воскресенье, 11.11.2012, 18:34 | Сообщение № 15
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
Quote (MCH)
При поиске в интернете вариантов работы с длинной арифметикой на бейсике ничего подходящего не нашел

вот это видели?
http://digilander.libero.it/foxes/MultiPrecision.htm


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Воскресенье, 11.11.2012, 18:35
 
Ответить
Сообщение
Quote (MCH)
При поиске в интернете вариантов работы с длинной арифметикой на бейсике ничего подходящего не нашел

вот это видели?
http://digilander.libero.it/foxes/MultiPrecision.htm

Автор - ikki
Дата добавления - 11.11.2012 в 18:34
MCH Дата: Воскресенье, 11.11.2012, 19:07 | Сообщение № 16
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

Quote (ikki)
вот это видели?

Попадалась эта надстройка, но не смог разобратся, т.к. английского не знаю, пришлось изобретать велосипед
 
Ответить
Сообщение
Quote (ikki)
вот это видели?

Попадалась эта надстройка, но не смог разобратся, т.к. английского не знаю, пришлось изобретать велосипед

Автор - MCH
Дата добавления - 11.11.2012 в 19:07
ikki Дата: Воскресенье, 11.11.2012, 19:17 | Сообщение № 17
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
я в свое время тоже интересовался похожим вопросом, даже создавал тему на одном из форумов http://www.cyberforum.ru/vba/thread606951.html
но потом, честно говоря, забросил.

пс. в той теме есть готовая dll smile


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki
 
Ответить
Сообщениея в свое время тоже интересовался похожим вопросом, даже создавал тему на одном из форумов http://www.cyberforum.ru/vba/thread606951.html
но потом, честно говоря, забросил.

пс. в той теме есть готовая dll smile

Автор - ikki
Дата добавления - 11.11.2012 в 19:17
MCH Дата: Воскресенье, 11.11.2012, 19:46 | Сообщение № 18
Группа: Админы
Ранг: Старожил
Сообщений: 2003
Репутация: 751 ±
Замечаний: ±

Саш, спасибо за ссылку, посмотрел твою реализацию, отметил полезным хранить длину числа, может ускорить некоторые моменты.
Я у себя брал основание 10000 вместо 10, немного сложнее вывод, но считать должно быстрее.

т.к. уже есть и не одно решение на макросах, выкладываю свою реализацию длинки.
Не гарантирую оптимальности кода как по размеру, так и по скорости, но это мой велосипед

В пиложенном файле несколько задач, в качестве примера, решаемых с помощью длинной арифметики: факториалы, степень двойки, числа Фибоначчи, задача о счастливых билетах
К сообщению приложен файл: LongNum.xls (70.5 Kb)
 
Ответить
СообщениеСаш, спасибо за ссылку, посмотрел твою реализацию, отметил полезным хранить длину числа, может ускорить некоторые моменты.
Я у себя брал основание 10000 вместо 10, немного сложнее вывод, но считать должно быстрее.

т.к. уже есть и не одно решение на макросах, выкладываю свою реализацию длинки.
Не гарантирую оптимальности кода как по размеру, так и по скорости, но это мой велосипед

В пиложенном файле несколько задач, в качестве примера, решаемых с помощью длинной арифметики: факториалы, степень двойки, числа Фибоначчи, задача о счастливых билетах

Автор - MCH
Дата добавления - 11.11.2012 в 19:46
ikki Дата: Воскресенье, 11.11.2012, 19:53 | Сообщение № 19
Группа: Друзья
Ранг: Старожил
Сообщений: 1906
Репутация: 504 ±
Замечаний: 0% ±

Excel 2003, 2010
мой вариант (всё в одной процедуре)


Quote (MCH)
выкладываю свою реализацию длинки

в "Есть готовое решение", имхо, надо положить.


помощь по Excel и VBA
ikki@fxmail.ru, icq 592842413, skype alex.ikki


Сообщение отредактировал ikki - Воскресенье, 11.11.2012, 19:58
 
Ответить
Сообщениемой вариант (всё в одной процедуре)


Quote (MCH)
выкладываю свою реализацию длинки

в "Есть готовое решение", имхо, надо положить.

Автор - ikki
Дата добавления - 11.11.2012 в 19:53
Serge_007 Дата: Воскресенье, 11.11.2012, 20:14 | Сообщение № 20
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (ikki)
в "Есть готовое решение", имхо, надо положить.

Могу сразу на сайт выложить, если оформишь красиво smile


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (ikki)
в "Есть готовое решение", имхо, надо положить.

Могу сразу на сайт выложить, если оформишь красиво smile

Автор - Serge_007
Дата добавления - 11.11.2012 в 20:14
Мир MS Excel » Работа и общение » Мозговой штурм » Факториалы
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!