|
70 / 63 / 1
Регистрация: 25.04.2011
Сообщений: 181
|
|
Извлекаем факториал с абсолютной точностью.26.07.2011, 03:52. Показов 5169. Ответов 35
Метки нет (Все метки)
Вот представляю вам утилитку для нахождения факториала. Просто я часто встречал вопросы с факториалом и числами высокой точности на форумах вот и решил написать dll.Можно узнавать факториал числа от 0 до 3200, возвращается string-овой строкой, можно с разделителями, можно без. Также можно узнать количество разрядов (кол-во которых может достигать чуть меньше 10 к) в получившемся факториале, и ещё примерное время вычисления. Вообщем более подробное описание свойств в архиве в текстовом документе.
Кидаю программку и исходник программки с dll файлом. Надеюсь кому-нибудь она пригодится=)
3
|
|
| 26.07.2011, 03:52 | |
|
Ответы с готовыми решениями:
35
Вычислить факториал с точностью Е факториал с точностью до единицы |
|
70 / 63 / 1
Регистрация: 25.04.2011
Сообщений: 181
|
|
| 26.07.2011, 03:55 [ТС] | |
|
Программа нужна лишь для презентации dll.
0
|
|
|
70 / 63 / 1
Регистрация: 25.04.2011
Сообщений: 181
|
|
| 26.07.2011, 12:56 [ТС] | |
|
Maxwe11, один архив с dll, один проект с программой-презентацией, и третий проект с исходником программы. До 3200 так как для больших чисел нужно больше времени для вычисления, на 3200 факториал высчитывает около 10 минут. Я думаю этого достаточно. Но если кому-то нужно больше, обращайтесь.
0
|
|
|
_
2364 / 1243 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
|
|
| 26.07.2011, 13:10 | |
|
probit, а какой метод был использован для нахождения факториала - цикл или рекурсия - если рекурсия, то с помощью цикла можно ускорить выполнения программы
0
|
|
|
70 / 63 / 1
Регистрация: 25.04.2011
Сообщений: 181
|
|
| 26.07.2011, 15:18 [ТС] | |
|
Eugene22, из-за ограниченности доступных переменных, я создал массив из 10 тыс разрядов, в которых производится умножение "столбиком" с переносами разрядов и т. п. использованы циклы, с рекурсией было бы намного хуже.
Добавлено через 2 минуты Maxwe11, я лишь новичёк, предложишь эффективнее - буду только рад набраться опыта. А имена свойств не думаю, что имеют важного значения.
0
|
|
|
197 / 189 / 15
Регистрация: 09.02.2011
Сообщений: 457
|
||||||
| 26.07.2011, 15:56 | ||||||
|
Код не смотрел, просто думал что факториал можно посчитать так:
0
|
||||||
|
70 / 63 / 1
Регистрация: 25.04.2011
Сообщений: 181
|
||||||
| 26.07.2011, 16:22 [ТС] | ||||||
|
Bazzy, какова величина переменной Big integer?
Добавлено через 3 минуты
Bazzy, моя функция позволяет находить факториал абсолютно любого числа, вопрос лишь во времени. Если есть предложения по эффективности, с радостью приму.
0
|
||||||
|
_
2364 / 1243 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
|
|
| 26.07.2011, 16:38 | |
|
probit, а зачем такие извращения - перенос разрядов, проверка чего-то и все такое?
0
|
|
|
70 / 63 / 1
Регистрация: 25.04.2011
Сообщений: 181
|
|
| 26.07.2011, 18:45 [ТС] | |
|
Eugene22, из-за своей неопытности я не знал о такой переменной=) считай я создал собственную переменную. А наворочено всего, так как я пользовался не стандартными функциями а как бы сам придумал велосипед. Число разбивается на цифры в массив, далее на каждую цифру умножается новое число, и работает перенос разрядов, если в элементе массива число более 9. Только проблема в быстро действии. Ты не проверял свою функцию на время, сколько факториал 3000 находится?
0
|
|
|
_
2364 / 1243 / 78
Регистрация: 28.10.2009
Сообщений: 4,331
|
|
| 26.07.2011, 21:21 | |
|
Это только для избранных - а именно тех, кто пользуется .NET 4.0
0
|
|
|
197 / 189 / 15
Регистрация: 09.02.2011
Сообщений: 457
|
|
| 27.07.2011, 00:08 | |
|
5000 вроде 40мс под рукой студии нет, завтра могу сказать поточнее
0
|
|
|
Почетный модератор
23251 / 9163 / 1084
Регистрация: 11.04.2010
Сообщений: 11,014
|
|
| 27.07.2011, 00:11 | |
|
Я посоветую всем тут присутствующим не забывать о том, что далеко не у всех используется NET Framework4, и конструкция с Big integer мягко говоря, не пролазит.
Maxwe11, поубавь свой гонор. probit старается и пишет, улучшает раздел, не смотря на то, что новичок.
2
|
|
|
0 / 0 / 0
Регистрация: 13.01.2011
Сообщений: 13
|
|
| 28.07.2011, 02:58 | |
|
Я тоже написал что то подобное. Моя программа просто принимает две строки и умножает их. Просто алгоритм имитирует обычную умножению. Вот:
0
|
|
|
70 / 63 / 1
Регистрация: 25.04.2011
Сообщений: 181
|
|
| 28.07.2011, 06:11 [ТС] | |
|
smallvill, ты на какой переменно писал? Big integer? или как я массив? поделишься функциями, интересно.
0
|
|
|
0 / 0 / 0
Регистрация: 13.01.2011
Сообщений: 13
|
||
| 29.07.2011, 14:34 | ||
|
0
|
||
| 29.07.2011, 14:34 | |
|
Помогаю со студенческими работами здесь
20
Вычислить факториал с заданной точностью Найти сумму ряда S с точностью до члена ряда, по абсолютной величине меньшего eps
Извлекаем данные из файла Извлекаем комментарии с booking.com, используя urlopen() Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|