|
0 / 1 / 0
Регистрация: 29.04.2011
Сообщений: 31
|
|
Длинная арифметика. Умножение двух длинных чисел.29.04.2011, 13:44. Показов 39635. Ответов 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 | |
|
Длинная арифметика(вычитание длинных целых чисел)
Длинная арифметика: сложение и умножение чисел Сложение двух чисел (длинная арифметика) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата)
Этот документ предназначен для того, чтобы новый чат Claude мог продолжить
работу без необходимости заново разбираться в. . .
|
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса
Калибровка параметров симбиотической модели: технический обзор
Содержание:
Введение
Постановка проблемы
Технические аспекты реализации
Процесс внедрения изменений
|
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0»
https:/ / ibb. co/ NnkGpfMd
Представленная интегрированная схема описывает непрерывную нелинейную. . .
|
|
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы
### Аннотация
Представлено исследование по разработке агентной модели микоризной. . .
|
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики
Контекст
Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
|
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии
Введение
Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
|
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np
class PlantAgent:
def __init__(self, name, strategy, initial_biomass):
self. name = name
self. strategy = strategy # "greedy" (широколиственные) или. . .
|