С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
323 / 49 / 28
Регистрация: 07.09.2014
Сообщений: 217

Система остаточных классов в длинной арифметике

24.09.2015, 09:31. Показов 2497. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, коллеги.

Занялся реализацией длинной арифметики (так, чисто для тренировки) и у меня возник вопрос. Пробовал ли кто-нибудь реализовать базовые арифметические операции (хотя бы сложение и умножение) через систему остаточных классов. То есть понятно, что в данной ситуации операции осложняются необходимостью считать остатки и наличием какого-то базиса из простых чисел(простейший вариант), но все-таки возможно этот метод более оптимален, чем реализация "в лоб" столбиком?

З.Ы.: На всякий случай ссыль на описание СОК на вики Система остаточных классов
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.09.2015, 09:31
Ответы с готовыми решениями:

Ошибка в длинной арифметике
Помогите найти ошибку в программе. Задача сводится к тому, чтобы просумировать числа ввода и вычислить их среднее арифметическое. Немогу...

Подскажите литературу по длинной арифметике
Длинная арифметика — это набор программных средств (структуры данных и алгоритмы), которые позволяют работать с числами гораздо больших...

Нахождение ошибки в длинной арифметике
Задача следующая: Вам нужно найти сумму двух целых чисел размером до 1 000 000 цифр. Исходные данные Первая строка содержит целое...

7
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
24.09.2015, 10:48
Зачем вам там столбики понадобились? Каждый остаток складывается/умножается независимо от остальных, ради этого все и затевается. Вот при попытке привести все это в более традиционный вид как раз и начинаются пляски с бубном.
0
323 / 49 / 28
Регистрация: 07.09.2014
Сообщений: 217
24.09.2015, 11:17  [ТС]
Renji, я и имел ввиду, что хочу сравнить СОК и классический "столбик"
0
 Аватар для SerVal
37 / 36 / 9
Регистрация: 16.04.2015
Сообщений: 283
24.09.2015, 13:15
"Возможность представления только ограниченного количества чисел."(с)
Тут какбэ непонятно получается: 2 умножать на 2 - можно, а на 3 - низя.

Реализация "в лоб" столбиком..
Дык, реально, никто столбиком не умножает... понапридумывали всяких штучек.
0
323 / 49 / 28
Регистрация: 07.09.2014
Сообщений: 217
24.09.2015, 14:04  [ТС]
Цитата Сообщение от SerVal Посмотреть сообщение
"Возможность представления только ограниченного количества чисел."(с)
Имеется ввиду что для операции из 2 чисел надо определять базис по большему из них. Т.е. в базисе (2;3) можно представить только числа то 0 до 5, поэтому нужен динамический базис и хранение массива взаимнопростых чисел(проще всего взять простые числа). Тут как бы все в принципе понятно. Мне интересно следующее - существует хоть какое-то значимое число кейсов в которых СОК как параллельное сложение эффективнее чем классическое "последовательное" сложение?
0
 Аватар для SerVal
37 / 36 / 9
Регистрация: 16.04.2015
Сообщений: 283
24.09.2015, 14:35
Цитата Сообщение от mihey1993 Посмотреть сообщение
нужен динамический базис
Э... подозреваю, что до сложения дело таки не дойдёт.
Прикиньте, во что обойдутся операторы "больше-меньше-равно" двух чисел в СОК.
Это базовые операторы. Только на них можно голову сломать...
* а про производительность можно вообще забыть.
0
2688 / 2260 / 244
Регистрация: 03.07.2012
Сообщений: 8,231
Записей в блоге: 1
24.09.2015, 18:17
Мое мнение насчет СОК: "месье знает толк в извращениях"
0
323 / 49 / 28
Регистрация: 07.09.2014
Сообщений: 217
25.09.2015, 09:35  [ТС]
zer0mail, о да, однозначно знает. Однако идея которая мне не даёт покоя - возможность выполнять арифметические операции в параллельном режиме. Если найти как хранить в удобном виде представления чисел, это же должно дать знатный прирост в производительности
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.09.2015, 09:35
Помогаю со студенческими работами здесь

Нахождение НОД и НОК в длинной арифметике
Всем привет. Дали задание написать программу для нахождения НОД и НОК двух чисел, но в длинной арифметике, т.е. чтобы НОД и НОК находились...

Побитовое считывание числа в длинной арифметике
Хочу сделать либу (знаю, что изобретаю очередной велосипед) для работы с длинной арифметикой, однако решил хранить числа не в виде массива...

Вычитание в длинной арифметике - поясните несколько строк
Очень нужно разобраться что в этой программе выполняют 2 строки которые ниже выделении курсивом! Разработать функцию void Big3Sub (byte *...

Предложить эффективный алгоритм умножения числа на дробь в длинной арифметике
Нам дано длинное натуральное число, представленное в виде динамического массива: 1) разряды числа записываются от старшего к младшему;...

Совет в написании/использовании длинной арифметике на примере чисел Фибоначчи
Доброго времени суток. Недавно передо мною появилось задание использование длинной арифметики. Немного покопавшись я наткнулся на эту тему:...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru