IPB
ЛогинПароль:

> Деление числа. (a/b)
сообщение
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 195
Пол: Мужской
Реальное имя: Сергей

Репутация: -  2  +


Меня затронула одна тема, с которой я ни как не могу справиться. Это деление чисел.
Меня интересует деление одного числа на другое если эти числа находятся в массивах (в каждом элементе одна цифра) или в строках. К примеру массив A{1,1,1,1,1,1}, массив B {1,1,1}. Или в тех же самых строках s1='111111', s2='111';

Расскажите алгоритм по которому можно данные числа разделить в самих массивах (строках).
(Перевод числа в переменную целочисленного типа (longint, integer) не предлагать, так как я хочу использовать длинную арифметику.)


--------------------
♣♣♣
"Себя великим не считай, гордясь величьем предков,
Величья не добудешь ты и золота ценою!
Хоть светит на небе луна, но отраженным светом -
Чужою славой не живи, не будь второй луною!!!"
♣♣♣
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 195
Пол: Мужской
Реальное имя: Сергей

Репутация: -  2  +


Извините, но я что-то запутался) wacko.gif Не могли бы вы написать примерчик какой-нибдь?


--------------------
♣♣♣
"Себя великим не считай, гордясь величьем предков,
Величья не добудешь ты и золота ценою!
Хоть светит на небе луна, но отраженным светом -
Чужою славой не живи, не будь второй луною!!!"
♣♣♣
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Сергей Меркурьев @ 20.07.2009 13:13) *
Не могли бы вы написать примерчик какой-нибдь?
ммммм.... Ну, попробую..

539123948201 : 1756

result=0

Берем первую цифру делимого:
5 < 1756

сносим цифру:
53 < 1756

сносим цифру:
539 < 1756

сносим цифру:
5391 > 1756 (!)

try 1
1*1756=1756 <= 5391

try 2
2*1756=3512 <= 5391

try 3
3*1756=5268 <= 5391

try 4
4*1756=7024 >= 5391 (!)

result = result*10+3 = 3

вычитаем:
5391-5268=123

сносим цифру:
1232 < 1756

result = result*10 = 30

сносим цифру:
12323 > 1756 (!)

try 1
1*1756=1756 <= 12323

try 2
2*1756=3512 <= 12323

try 3
3*1756=5268 <= 12323

try 4
4*1756=7024 <= 12323

try 5
5*1756=8780 <= 12323

try 6
6*1756=10536 <= 12323

try 7
7*1756=12292 <= 12323

try 8
8*1756=14048 > 12323 (!)

result = result*10+7 = 30*10+7 = 307

вычитаем:
12323-12292=31

сносим цифру
319 < 1756

сносим........ и т.д.
Я заранее извиняюсь, если нарутал со знаками неравенств.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 24.04.2024 14:04
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name