алгоритм нахождения корня



Алгоритм нахождения квадратного корня

Автор Willamette задал вопрос в разделе Другие языки и технологии

алгоритм нахождения корня числа без функции sqrt() и получил лучший ответ

Ответ от Andrzej Poljaczyk[гуру]
возведение в степень 1/2 как вариант

Ответ от Кrab Bark[гуру]
возвести в степень 0.5

Ответ от Ѐусский Бисмарк[гуру]
Через exp. sqrt(a)=exp(0.5*ln(a)).

Ответ от Helmeric[мастер]
рекурсия с подбором наиболее близкого числа в квадрате... .
точно не помню уже, ищи метод квадратов ( так вроде наз-ся)

Ответ от Magzhan Kharasaev[активный]

Как один из быдловариантов бинарным поиском
------------------------
Вики:
Этот способ позволяет найти приближённое значение корня из любого действительного числа с любой наперёд заданной точностью.

Для ручного извлечения корня применяется запись, похожая на деление столбиком. Пусть извлекается корень из целого числа A. В отличие от деления снос производится группами по 2 цифры, причём группы следует отмечать, начиная с десятичной запятой (в обе стороны) , дописывая необходимым количеством нулей.

1. Найти an, квадрат которого наиболее близко подходит к группе старших разрядов числа A, оставаясь меньше последнего.
2. Провести вычитание из старших разрядов A квадрата числа an.
3. Удвоить an.
4. Сдвинуть остаток от вычитания на 2 разряда влево, а величину 2an — на один разряд влево. Под сдвигом в данном алгоритме понимается умножение/деление на степени 10, что соответственно является сдвигом влево и вправо.
5. Приписать справа от остатка вычитания два следующих старших разряда числа A.
6. Сравнить полученное число с нулём.
7. Если полученное число не равно 0, то найти такое 2an − 1, которое, будучи умноженным на (2a_ncdot 10+a_{n-1}), даст в результате число, меньшее полученного на четвёртом шаге, но наиболее близкое к нему по значению. Перейти к п. 3.
8. Если в п. 6 получено равенство, то перейти к п. 4, предварительно приписв справа от an нуль.
9. После получения количества цифр, равного frac {n}{2}, прекратить вычисления (если требуется целое значение) или продолжать до необходимой точности, записывая получающиеся цифры после запятой.

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: алгоритм нахождения корня числа без функции sqrt()
Алгоритм нахождения корня n-ной степени на Википедии
Посмотрите статью на википедии про Алгоритм нахождения корня n-ной степени
Квадратный корень на Википедии
Посмотрите статью на википедии про Квадратный корень
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*