Умножение больших чисел
Метки pascal
Функция mult умножает длинное число (задается строкой) на число типа integer. Возвращает результат в строку.
|
Всего комментариев 2
Комментарии
-
chizz, вот можно так (код не мой взят с http://e-maxx.ru/)
C++ 1 2 3 4 5 6 7 8 9 10 11
typedef vector<int> lnum; ... lnum c (a.size()+b.size()); for (size_t i=0; i<a.size(); ++i) for (int j=0, carry=0; j<(int)b.size() || carry; ++j) { long long cur = c[i+j] + a[i] * 1ll * (j < (int)b.size() ? b[j] : 0) + carry; c[i+j] = int (cur % base); carry = int (cur / base); } while (c.size() > 1 && c.back() == 0) c.pop_back();
Запись от dr.curse размещена 05.06.2013 в 16:32 -
Запись от turbanoff размещена 22.06.2013 в 21:14