Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2012, 16:40   #1
luis_elgoro
Новичок
Джуниор
 
Регистрация: 04.11.2011
Сообщений: 1
По умолчанию Длинная арифметика:деление двух чисел

Уважвемые форумчане! Буду очень рад если поможите. Использовал Pascal ABC.Не совсем получаеться реализовать деление двух длиных чисел.Пока получаеться только для чисел несильно отличающихся по кол-ву цифр(методом многократного вычитания),например 10-и и 9-и значные.При деление чисел с разницей кол-ва цифр больше 3, время выполнения программы становиться не допустимым.Попытался сделать деление столбиком но возникли проблемы в этой части програмы:

Код:
a:=Length(s1);
b:=Length(s2);
 
if (complong(s1,s2)=1) and (a<>b) then 
 
begin
i:=a-b;
 
u:=Copy(s1,0,b);
sch:=i+1;
if complong(u,s2)=-1 then  begin sch:=i; u:=Copy(s1,0,b+1);end; 
 
for nik:=1 to sch do
begin
krevetko:=chas(u,s2);
delim:=ost(u,s2);
if complong(ost(u,s2),s2)=-1 then
u:=delim+Copy(s1,b+nik-1,1);
writeln(u);
 
end;
 
 
writeln('Chasnoe ',krevetko);
writeln('Ostatok ',ost(u,s2));
где:
Сomplong(s1,s2):integer;-функция сравнения двух строк,возвращает 0 если они равны,1 если (s1>s2), -1 если (s1<s2)
Chas(s1,s2):string;- функция вычисляющая частное от деления двух строк одинаковой(или отличающихся на одину цифру) длины
ost(s1,s2):string;-функция вычисляющая остаток от деления двух строк одинаковой(или отличающихся на одину цифру) длины

Всю програму залил ниже,есть также функции для вычитания(raznost(s1,s2):string) и
умножение(proiz(s1,s2):string) длиных чисел.
Если кто подскажет алгоритм как реализовать деление c помощью этих функций,или по другому буду благодарен.
Вложения
Тип файла: zip деление.zip (1.9 Кб, 10 просмотров)

Последний раз редактировалось luis_elgoro; 10.04.2012 в 16:44.
luis_elgoro вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Длинная Арифметика. Деление. cr1me Общие вопросы Delphi 9 28.05.2013 18:34
Длинная арифметика : деление (числа в string'е на число 256) Dima_Dima Общие вопросы Delphi 6 06.02.2011 20:39
длинная арифметика: деление Dеlphi Общие вопросы C/C++ 0 19.01.2011 13:19
Длинная арифметика на C#(деление) Mr_Dark Общие вопросы .NET 1 21.06.2009 21:57
Длинная арифметика: деление Vadik(R) Помощь студентам 1 27.03.2009 12:08