Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.88
ToyMach1ne
0 / 0 / 0
Регистрация: 20.10.2009
Сообщений: 2
#1

Умножение длинных целых 11-ричных чисел в виде строк - C++

23.10.2009, 18:54. Просмотров 1099. Ответов 3
Метки нет (Все метки)

Доброго времени суток. Если кому приходилось сталкиваться с умножением двух длинных целых чисел (неважно какая система счисления), представленных в виде строк, с последующей записью в результирующую строку, подкиньте, пожалуйста, идейку.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2009, 18:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Умножение длинных целых 11-ричных чисел в виде строк (C++):

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

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

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

Умножение длинных чисел - C++
Доброго времени суток дорогие брограммисты. Сейчас занимаюсь с длинной арифметикой по книге, автор которой к сожалению предоставил...

Умножение двух длинных чисел - C++
Приветствую, помогите исправить процедуру умножения двух длинных чисел: void CALL_TYPE Multiply(unsigned char *u,int N, unsigned char...

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

3
TanT
эволюционирую потихоньку
466 / 464 / 43
Регистрация: 30.06.2009
Сообщений: 1,399
23.10.2009, 21:08 #2
мой вариант. вывод в массив, в строку сам уж преобразуешь. без знаковое умножение. принцип думаю понятен
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
#include <string>
 
using namespace std;
int main(){
    int shift=0, temp, firstNumVal, numVal, sizeRez, countNum;
    string firstNum, secondNum;
    cout<< "Enter first number: ";  cin>> firstNum ;
    cout<< "Enter first number: ";  cin>> secondNum ;
    sizeRez=firstNum.length()+secondNum.length();
    int* product = new int  [sizeRez];
    
//  // temp
//  firstNum="0";
//  secondNum="123"; sizeRez=6;
//  int* product = new int  [sizeRez];
    memset(product, 0, sizeRez*sizeof(int));
 
    for (int f=firstNum.length(); --f>=0;)
    {
        firstNumVal=firstNum[f]-'0';
        countNum=shift;
        for (int s=secondNum.length(); --s>=0;)
        {           
            numVal=firstNumVal*(secondNum[s]-'0');
            product[countNum]    += numVal%10;
            if (product[countNum]>=10) 
                {product[countNum]-=10; ++product[countNum+1];}
            product[countNum+1]  += numVal/10;
            if (product[countNum+1]>=10) 
                {product[countNum+1]-=10;; ++product[countNum+2];}
            ++countNum;
        }
        ++shift;
    }
 
    for (int i=sizeRez; --i>=0;)
        cout<<product[i];
    cout<<endl; system("pause");
    return 0;
}
0
odip
Эксперт С++
7159 / 3221 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
24.10.2009, 20:00 #3
Есть стандартная библиотека libgmp для этих целей.
0
ToyMach1ne
0 / 0 / 0
Регистрация: 20.10.2009
Сообщений: 2
25.10.2009, 12:55 #4
спасибо
0
25.10.2009, 12:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2009, 12:55
Привет! Вот еще темы с ответами:

Умножение длинных чисел с фиксированной запятой - C++
#include &quot;StdAfx.h&quot; #include &quot;conio.h&quot; #include &lt;iostream&gt; #include &lt;vector&gt; #include &lt;iomanip&gt; #include &lt;string&gt; #include...

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

Длинная арифметика: умножение двух длинных чисел - C++
Всем привет! Снова к Вам за помощью. Алгоритм умножения двух длинных чисел: void...

Сделать сложение, вычитание, умножение и деление длинных чисел - C++
В общем, задача такая, что надо сделать сложение, вычитание, умножение и деление длинных чисел. Сумму сделал, с вычитанием какая-то засада....


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

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

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