Очень быстрый алгоритм умножения длинных чисел, куда копать? Здравствуйте.
Требуется очень быстро и много раз умножать очень длинное число, пример:
длинное число (более двух миллионов цифр у числа) умножать на случайное число в ограниченном диапазоне 2^8. (кол-во операций более 40 миллионов).
Погуглив данную инфу, я пока нашел алгоритмы:
Быстрое умножение: метод Карацубы
Быстрое умножение: метод Тоома-Кука
Быстрое умножение: метод Шснхаге-Штрассена
Дискретное преобразование Фурье
Алгоритм быстрого преобразования Фурье
Алгоритм Шёнхаге-Штрассена умножения целых чисел
Но, к сожалению, более детально в них не разбирался.
Так же я смотрел в сторону вычисления на GPU на Cuda, но, к сожалению, я думаю, что мне не подойдет данная технология, т.к. я не знаю и не нашел пока на сколько быстро работает умножение на длинных числах.
Уточните, пожалуйста, куда копать по данной теме?
Или может кто-то подкинет формулу или реализацию на каком-нибудь ЯП данный алгоритм.

21 Авг 2019 в 06:04
302 +1
0
Ответы
1

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

Метод Карацубы, метод Тоома-Кука, метод Шёнхаге-Штрассена и дискретное преобразование Фурье - все это хорошие варианты для умножения длинных чисел. Каждый из них имеет свои особенности и может быть оптимальным в зависимости от вашего конкретного случая.

Если вы хотите использовать CUDA для ускорения процесса, вам стоит провести тестирование и сравнить производительность умножения длинных чисел на GPU с производительностью алгоритмов на CPU.

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

Исследуйте каждый из алгоритмов более детально, проведите тестирование и выберите оптимальный вариант для ваших задач. Удачи вам!

20 Апр в 13:24
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 588 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир