Форум: "Основная";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];
ВнизАлгоритм умножения в столбик Найти похожие ветки
← →
Mihan (2003-05-15 12:53) [0]Помогите пожалуйста написать подпрограмму, которая реализовывала бы алгоритм умножения чисел в столбик. Все это надо сделать при помощи строк.
← →
MBo (2003-05-15 12:54) [1]Перемножь два числа в столбик на бумаге, протоколируя каждое свое действие. Вот и алгоритм готов.
← →
clickmaker (2003-05-15 12:56) [2]http://www.torry.net/calculators.htm
http://www.torry.net/expressions.htm
← →
Думкин (2003-05-17 08:28) [3]Для начала надо сложить 2 числа столбиком. Если это осилишь - перемножение - сделаешь.
← →
drnet (2003-05-17 18:11) [4]Тут проблемма как он это представит.
Я решал эту проблему через array[.....] of byte (давно) и через char.
через чар проще, как на бумаге но дольше.
Для прикола, (утро, бадун, Жена - "2^64"(шахматы(кто знает)) - это много?) делал умножение х2, ну тем-же столбиком через char(array of char). дык 2^1000000 - 7 страниц ;) прикольно.
подходишь к комраду у спрашиваешь "представь себе _очень большое_ число", он думает, говорит типа "триллион триллионов" - а ты ему "фигня, темный ты как антрацит" и на стол ему - семь страниц мелким шрифтом....вот большое число 8-[ ]
2^50000 это около 133000 знков ;)
Это все так, для общего развития.
← →
uw (2003-05-17 19:08) [5]>2^50000 это около 133000 знков ;)
Фигня! Примерно 16600 знаков.
← →
Плохой человек (2003-05-17 19:44) [6]Я делал сложение в столбик, с дробными числами, потом даже реализовал умножение на основе сложения. Только запарило деление делать и я забросил это дело.
← →
LMD (2003-05-21 14:27) [7]
...
var
big:array of char;
...
SetLength(big,x) //х-длина числа
...
Function Mult_int(c:int;Big:elemtypea):elemtypea;
var
i,prod:int;
begin
prod:=0;
for i:=size-1 downto 0 do begin
prod:=prod+big[i]*c;
big[i]:=prod mod 10;
prod:=prod div 10;
end;
result:=big;
end;
← →
LMD (2003-05-21 14:30) [8]ps. Когда-то давно в школе я писал практическую по информатике - вычисление числа ПИ, а училку не устраивала точность (она считала, что я могу написать и лучше, не ошиблась). Это фрагмент кода из той программы. Если не работает, прошу не бить, написал по памяти.
pps Совсем забыл.
size:=x
← →
LMD (2003-05-21 14:34) [9]ppps еще одна ошибка. В объявлении переменной big почему-то напечатал char. Вот так должно быть
...
var
big:array of byte;
size:word;
...
SetLength(big,size) //size-длина числа(т.е. кол-во знаков)
...
Function Mult_int(c:int;Big:elemtypea):elemtypea;
var
i,prod:int;
begin
prod:=0;
for i:=size-1 downto 0 do begin
prod:=prod+big[i]*c;
big[i]:=prod mod 10;
prod:=prod div 10;
end;
result:=big;
end;
Так должно работать.
← →
LMD (2003-05-21 14:38) [10]И еще.
type
elemtypea=array of byte;
Что-то леплю ошибки через каждую строку.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c