Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
RomanFlash
0 / 0 / 1
Регистрация: 02.06.2016
Сообщений: 48
1

Умножение длинных чисел

30.10.2016, 21:50. Просмотров 1661. Ответов 3
Метки нет (Все метки)

Доброго времени суток дорогие брограммисты.

Сейчас занимаюсь с длинной арифметикой по книге, автор которой к сожалению предоставил только исходный код умножения двух длинных чисел. Но без единого объяснения, для меня это не порядок.

Поиск на разных сайтах результата не дал, надеюсь на вашу помощь. Ниже код, который прочитал в книге.


C++
1
2
3
4
5
6
7
8
9
10
11
A,B,C:TLONG;  //A * B = C;
 
// Зачем делать "перебор"???
for i=1 to A[0]
    for j=1 to B[0]{
        int dv = A[i] * B[i] + C[i + j - 1];  //откуда выражение (i + j - 1)??
        C[i+j] += dv/OSN; 
        C[i+j-1] = dv % OSN;
    }
 
....

Кто не знаком с таким способом хранения длинных чисел прошу пройти мимо.

Спасибо за помощь....
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2016, 21:50
Ответы с готовыми решениями:

Умножение длинных чисел
Найти произведение двух длинных чисел(целые числа, десятичная запись которых может содержать до 255...

Умножение длинных чисел
не работает процедура умножения длинных чисел. переводил с паскаля по книге Окулова...

Умножение двух длинных чисел
Приветствую, помогите исправить процедуру умножения двух длинных чисел: void CALL_TYPE ...

Быстрое умножение длинных чисел.
В общем вопрос стоит так: где можно найти красивый код на агоритм Карацубы. В часности -...

Умножение длинных чисел с фиксированной запятой
#include "StdAfx.h" #include "conio.h" #include <iostream> #include <vector> #include...

3
GbaLog-
Любитель чаепитий
3202 / 1503 / 472
Регистрация: 24.08.2014
Сообщений: 5,271
Записей в блоге: 1
Завершенные тесты: 2
30.10.2016, 21:56 2
RomanFlash, I'm afraid to disappoint you, but this not C++
0
RomanFlash
0 / 0 / 1
Регистрация: 02.06.2016
Сообщений: 48
30.10.2016, 22:00  [ТС] 3
GbaLog-, ну написал я на псевдокоде. Здесь непринципиально, а скинул в этот раздел. Потому, что сообщество самое большое..
0
nonedark2008
1292 / 957 / 293
Регистрация: 28.07.2012
Сообщений: 2,638
30.10.2016, 22:46 4
Лучший ответ Сообщение было отмечено RomanFlash как решение

Решение

RomanFlash, это обычное умножение "в столбик".
Цитата Сообщение от RomanFlash Посмотреть сообщение
откуда выражение (i + j - 1)
Рассмотри какой-нибудь простой пример.
Длинное число представимо как http://www.cyberforum.ru/cgi-bin/latex.cgi?A=\sum_1^nA[i]OSN^{i-1}
Возьми схожее число B и перемнож суммы.
http://www.cyberforum.ru/cgi-bin/latex.cgi?C=(\sum_1^nA[i]OSN^{i-1})(\sum_1^mB[j]OSN^{j-1})
Раскрой скобки, и получишь, что степень при слагаемом http://www.cyberforum.ru/cgi-bin/latex.cgi?A[i]B[j] равна http://www.cyberforum.ru/cgi-bin/latex.cgi?OSN^{(i+j-1)-1}.
Т.е. в числе C это произведение будет записано в блок http://www.cyberforum.ru/cgi-bin/latex.cgi?C[i+j-1].
Ну а дальше еще идет учет переносов...
1
30.10.2016, 22:46
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2016, 22:46

Реализовать умножение двух длинных чисел
Не могу никак разобраться, знаю, что решать надо с помощью строк и все. Помоги пожалуйста ...

Длинная арифметика. Умножение двух длинных чисел.
Есть 2 числа, храняющиеся в int векторах, нужна функция, которая возвращает их произведение также в...

Умножение/деление длинных целых чисел из строк
у кого есть код 'умножение и деление целых чисел из строк'? заранее спасибо Добавлено через 32...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.