|
0 / 1 / 0
Регистрация: 29.04.2011
Сообщений: 31
|
|
Длинная арифметика. Умножение двух длинных чисел.29.04.2011, 13:44. Показов 39637. Ответов 55
Метки нет (Все метки)
Есть 2 числа, храняющиеся в int векторах, нужна функция, которая возвращает их произведение также в виде вектора.
Либо простой и понятно описанный алгоритм, по которому можно такое сделать. Заранее спасибо. P.S. в гугл отправлять не надо-разбираться со сложными алгоритмами вроде БПФ у меня нет ни времени, ни желания.
0
|
|
| 29.04.2011, 13:44 | |
|
Ответы с готовыми решениями:
55
Длинная арифметика: умножение двух длинных чисел
|
|
0 / 1 / 0
Регистрация: 29.04.2011
Сообщений: 31
|
|
| 30.04.2011, 21:30 [ТС] | |
|
0
|
|
|
4 / 4 / 0
Регистрация: 21.02.2011
Сообщений: 61
|
|
| 30.04.2011, 21:34 | |
|
Фигня какая-то ввёл 5 5, он мне 3125 выдаёт...
0
|
|
|
0 / 1 / 0
Регистрация: 29.04.2011
Сообщений: 31
|
|
| 30.04.2011, 21:35 [ТС] | |
|
Ты бы почитал комментарии вверху кода программы для начала, она возводит число a в степень b.
5 в 5й степени равно 3125.
1
|
|
|
4 / 4 / 0
Регистрация: 21.02.2011
Сообщений: 61
|
|
| 30.04.2011, 21:42 | |
|
тогда почему на 100 в 10 выдаётся фигня какая-то со всеми числами котррые есть на земле?
0
|
|
|
0 / 1 / 0
Регистрация: 29.04.2011
Сообщений: 31
|
|
| 30.04.2011, 21:51 [ТС] | |
|
Ну число там немаленькое получается, но в проге видимо баг...
0
|
|
|
4 / 4 / 0
Регистрация: 21.02.2011
Сообщений: 61
|
|
| 30.04.2011, 21:53 | |
|
2 в 64 верно вычислил, а вот 100 в 10... да это ладно 10 в 100 ваще фигня, три строчки командной строки тирешками и всем числовым полем забиты)))
0
|
|
|
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
|
||||||
| 30.04.2011, 21:55 | ||||||
|
kiborg_18, вообще, там и ограничения на вводимые данные написаны.
Измените основание, и будет вам счастье.
Не по теме: Можете баловаться )
0
|
||||||
|
0 / 1 / 0
Регистрация: 29.04.2011
Сообщений: 31
|
|
| 30.04.2011, 22:03 [ТС] | |
|
С факториалом баловатся удобнее будет, 29!=8841761993739701954543616000000
Но для его реализации нужно будет использовать алгоритм умножения длинного числа на длинное, и таким образом мы из оффтопа возвращаемся к теме. Если это умножение в столбик такое простое, то почему нигде нету его реализаций на с++? Обещаю, что если мне дадут реализацию этого алгоритма, то через полчаса выложу код, который будет выводить факториал. Сможете играть сколько влезет - просто вбивайте число размером в пару тысяч и сидите с открытым ртом.
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 30.04.2011, 22:06 | |
|
vpupkin, мать моя... Вы что же, не в состоянии написать умножение столбиком? Алгоритм я, например, помню с начальной школы, а если бы и не помнил - загуглил бы, на первой странице точно был бы алгоритм. А дальше дело техники...
0
|
|
|
0 / 1 / 0
Регистрация: 29.04.2011
Сообщений: 31
|
|
| 30.04.2011, 22:08 [ТС] | |
|
Я гуглю второй день-реализации только на паскале, которого я не знаю. Пытался перевести-не пашет.
И вообще, паскалю в этом плане кошернее, у него элементы массива могут быть отрицательные. Если писать через массивы на с++, то число по идее залезет в отрицательные элементы, и ничего хорошего из этого не выйдет.
0
|
|
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
||||||
| 30.04.2011, 22:09 | ||||||
|
Вот вам, откопал у себя, когда-то делал класс длинной арифметики...
Надеюсь, умножение длинного на короткое вы написать в состоянии?.. Ну и сумму двух длинных.
1
|
||||||
|
0 / 1 / 0
Регистрация: 29.04.2011
Сообщений: 31
|
|
| 30.04.2011, 22:11 [ТС] | |
|
Длинное на короткое элементарно пишется, и я об этом писал уже в этой темке...
Покопаюсь в вашем исходнике, спасибо. И сумма/разность тоже знаю.
0
|
|
|
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
|
||
| 30.04.2011, 22:20 | ||
|
Для вычисления факториала умножение двух длинных не нужно)
Второе,
0
|
||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|||
| 30.04.2011, 22:22 | |||
|
0
|
|||
|
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
|
||||||
| 30.04.2011, 22:27 | ||||||
|
silent_1991, у меня комп взорвется, если я буду вычислять 879837492373874923 в факториале )
Просто привели пример с 29!, и про реализацию сказали, я и возразил. !
0
|
||||||
|
0 / 1 / 0
Регистрация: 29.04.2011
Сообщений: 31
|
||||||
| 30.04.2011, 22:29 [ТС] | ||||||
|
Число получается до 2х раз длинее, чем его множители, и просто приписать слева еденичку не получится. А так как во всех алгоритмах, что я видел, была реализация на паскале, то по идее должно вытянутся либо влево, либо вправо. Учитывая, что при счете в столбик суммы уезжают влево, то вытянется тоже влево, т.е. заедет за 0.
... Извиняюсь за этот бред, в половину четвертого ночи у меня проблемы с формулировкой мыслей. silent_1991, что делает эта строчка?
0
|
||||||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 30.04.2011, 22:31 | |
|
neske, ну, если столбиком - то да, взорвётся)) А если БПФ, думаю, выдержит, родимый)))
Добавлено через 46 секунд vpupkin, умножает длинное на 10 ^ i (простым приписыванием нулей в конец). Добавлено через 24 секунды vpupkin, разумеется, не уложится, столбик - прожорливая штука.
2
|
|
|
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
|
|
| 30.04.2011, 22:41 | |
|
vpupkin, кстати, в том линке, где еще непонятные 111, это ll1, то есть (long long)1
1
|
|
|
0 / 1 / 0
Регистрация: 29.04.2011
Сообщений: 31
|
|
| 30.04.2011, 22:44 [ТС] | |
|
Эм... Всмысле 1? Еденица, записанная с помощью 8 байт? о_О
0
|
|
|
1552 / 918 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
|
||||||
| 30.04.2011, 23:21 | ||||||
|
Взял алгоритм по той ссылке, которую я тебе дал, убрал только эту ll1.
Могли бы и вы так попробовать. + Я тут взял основание 10, для простоты примера.
1
|
||||||
| 30.04.2011, 23:21 | |
|
Длинная арифметика(вычитание длинных целых чисел)
Длинная арифметика: сложение и умножение чисел Сложение двух чисел (длинная арифметика) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата)
Этот документ предназначен для того, чтобы новый чат Claude мог продолжить
работу без необходимости заново разбираться в. . .
|
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса
Калибровка параметров симбиотической модели: технический обзор
Содержание:
Введение
Постановка проблемы
Технические аспекты реализации
Процесс внедрения изменений
|