Автор
|
Тема: свое sqr
|
Demo_S |
опубликован 26-05-2001 09:43 MSK
Кто знает какой-нить способ вычислять корень квадратный самому. То есть задано число, нужно получиь его кв.корень Конечно можно перебором или там половинным делением(что лучше) Но наверное ж есть и более оптимальные варианты.Я смотрю, ты у нас знаешь всякие умные алгоритмы математические, раз спрашиваешь о том, тко их использует. ТАк вот подскажи какой-нить
|
OlegO
|
опубликован 26-05-2001 14:57 MSK
Вариантов просто море: - итерационные методы - методы основанные на разложение функции в ряды - просто численные или оптимизированные под определенную систему и т.д. у каждого есть преимущества и недостатки, так что сказать четко, что лучше нельзя :( это на цвет и вкус так на вскидку посмотри по адресу: http://algorithm.narod.ru/el/sqroot.html если что то не устоит скажи, помогу, чем смогу :) |
Demo_S
|
опубликован 26-05-2001 20:46 MSK
послдение две строки адресовались MaTaM'y2OlegO Спасибо!!. Только вот скажи, по этому методу для увеличения точности нужно ITNUM увеличивать или (я второй метод взял) начальное значение a? Просто я сейчас реализовываю класс для длинной арифметики, так числа знаков по 100.. нужно приемлемую точность для них.. |
OlegO
|
опубликован 29-05-2001 12:47 MSK
нужно ITNUM увеличивать, только не стоит переборщивать :) Начальное значение а мне кажется в общем случае сильного результата не сыграет, так для конкретных чисел да, но тоже стоит поэксперементировать с его значением. Вобще было бы хорошо расписать график зависимости общей скорости извлечения корня от а и ITNUM, для определенного случайного набора чисел для твоей библиотеки. |
OlegO
|
опубликован 29-05-2001 12:49 MSK
Для тестов советую найти двушку или трешку, там разница в скорости, для разных реализаций сразу будет чуствоваться. |
OlegO
|
опубликован 29-05-2001 18:03 MSK
Тут случайно наткнулся, думаю тебе будет интересно http://members.nbci.com/treestation/sqrt.htm
|