| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Длинное нецелочисленое деление |
| Автор: Hohhi 30.3.2008, 17:55 | ||||
| Привет всем! Нужно поделить два длинных числа, при этом деля не целочисленно, а с определенной точностью. Например: 6/4=1,5 Написана процедура целочисленного деления
идея у меня была такова, сдвинуть элементы массива вправо, поделить, получить результат, переписать его в удобной форме. вот код сдвига массива(вместе с нулевым элементом):
Всё пробую реализовать этот алгоритм, но в конечном итоге бьюсь о как представлены у меня в процедуре числа, допустим у нас число 123456789: а) при о==10L массив{9,9,8,7,6,5,4,3,2,1} б)при о=10000L массив {3,6789,2345,1,0} то есть переворачиваем число и делим на группы.(чем больше о, тем эффективнее алгоритм) Моя конечная цель написать метод Гаусса для большой арифметики, попросили сделать, но с делением у меня ступор. Народ, помогите, кто чем может, идеей, алгоритмом, псевдокодом! Заранее благодарю |
| Автор: creatorcode 30.3.2008, 18:32 |
| http://algolist.manual.ru/maths/longnum.php |
| Автор: Hohhi 30.3.2008, 18:57 |
| creatorcode, Спасибо, статья действительно интересная, я её уже читал, но там только про целочисленное деление |
| Автор: creatorcode 30.3.2008, 19:06 |
| Почитай Кнута, 2-ой том "Получисленные алгоритмы". |
| Автор: Hohhi 31.3.2008, 10:15 | ||||||
Alexandr87, Всё ок, это так называемая обратная форма представления. посмотри сколь просто алгорит суммы и произведения
деление сделал, кому интересно,добавил функцию сравнения чисел
в мэйне написал:
|