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

Длинная арифметика. Умножение двух длинных чисел. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Int to string http://www.cyberforum.ru/cpp-beginners/thread285630.html
Какой способ перевода Int в String самый лёгкий ? В делфи привык писать Inttostr (i) , а на с++ такое есть ?
C++ Класс комплексных чисел(подправить) Помогите дописать в оераторе "умножение" умножение вещественного числа на комплексное,double на комплексное. Очень надо. Заранее спасибо #include <iostream> #include <conio.h> #include <math.h>... http://www.cyberforum.ru/cpp-beginners/thread285618.html
C++ ООП, разобрать задание.
Составить описание класса для представления комплексных чисел с возможностью задания вещественной и мнимой частей как числами типов double, так и целыми числами. Обеспечить выполнение операций...
справочная система компонентов компьютерной техники - С++ C++
Помогите пожалуйста!!!Тема курсовой-справочная система компонентов компьютерной техники Нужно написать программу на языке С++ Поняла только что необходимо использовать тему классы и можно будет...
C++ Лабораторная на C++. Строки. http://www.cyberforum.ru/cpp-beginners/thread285535.html
Очень прошу помочь!) Нужно написать программу на языке C++ с использованием стандартных функций для обработки строк.(не CString) Задан текст, состоящий из слов, записанных через запятые, и...
C++ программа которая по дате находит день недели на который эта дата приходится Ребята помогите пожалуйста написать программу, можно на с++ или на java или c#. Если не тяжело помогите для зачета нужно пожалуйста! подробнее

Показать сообщение отдельно
vpupkin
0 / 1 / 0
Регистрация: 29.04.2011
Сообщений: 31
01.05.2011, 15:55  [ТС]
Цитата Сообщение от diagon Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
std::vector<int> mult (std::vector<int> a, std::vector<int> b)
{
        reverse(a.begin(),a.end());
        reverse(b.begin(),b.end());
        std::vector<int> c(a.size()+b.size());
        for (int i = 0; i < a.size(); ++i)
                for (int j = 0, carry = 0; j < b.size() || carry; ++j)
                {
                        long long cur = c[i+j] + a[i] * (j < b.size() ? b[j] : 0) + carry;
                        c[i+j] = cur % 10;
                        carry = cur / 10;
                }
 
        while (c.size() > 1 && c.back() == 0)
                c.pop_back();
                reverse(c.begin(),c.end());
                return c;
}
Так они там в перевернутом виде хранились... Мда. А я-то думал...
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru