Цитата(kanzler @ Nov 1 2007, 18:31)

Господа программисты. Я не настолько программист что не задавать данные вопросы. Очень хотелось бы получить ответы на вопросы. Если у вас ответ - "Напиши сам!!!" Тогда возникает справедливый вопрос - Нафига этот форум??? Получается что здесь тусуются одни флудеры. Меня это растраивает. Как и многих наверное. Жаль что нет такого человека который бы на самом деле помог. Очень жаль!!!
Нет, мы не такие!
Просто неограниченой разрядной сетки не бывает, это всё Ваши "девичьи мечты" :-) Это, как говорится, - абстракция. Сетка может быть как угодно большой, но не неограниченой
Во множестве библиотек научных и стандартных существует класс Rational (кстати какой у Вас компилятор и платформа? он там может есть). Впрочем он достаточно прост чтобы его реализовать самому. Вот здесь чувак реализовал почти полностью в простейшем виде.
http://www.dreamincode.net/forums/showtopic15116.htm Дроби создаются из типа инт или лонг (64 бита). Это типично.
Чтобы, расширить разрядную сетку нужно породить класс Rational из класса BigNum, вместо того
чтобы порождать из интов.
Для большой разрядной сетки большие затраты будут приходить на приведение общих множителей.
НОД=наибольший общий делитель
Для этого есть известные алгоритмы и член simplify нужно переписать на решето
«решето» принадлежит Эратосфену
http://www.wl.unn.ru/lab/Portals/0/Factor.pdfВ профессиональных криптографических приложениях (RSA) НОД вычисляют более быстрыми алгоритмами, но идея та же. Это всё модификации «решета» Эратосфена, просто для начала
проверяют на признаки деления на 2, 3, 5, 7, 11... известные ещё из школьной программы с той разницей, что для бинарных чисел они выглядят по-другому
Ну и ещё там есть кой какие идеи
Решето Аткина – оптимизированная версия решета Эратосфена или обобщённое квадратичное решето