Естественные науки

Дайте, плз, формулу, по которой непрограммируемый калькулятор вычисляет квадратные корни?

Все ответившие выше неправы.
Большинство калькуляторов используют итерационный способ «цифра за цифрой»
https://ru.wikipedia.org/wiki/CORDIC
умножение на микроконтроллерах - "дорогая" по затратам времени операция, все вшитые алгоритмы используют операции сложения и сдвига, но не умножение. Процессор компьютера, собственно, тоже не умножает, а складывает, сдвигает и перемещает содержимое в другие ячейки памяти
Сергей Большов
Сергей Большов
11 144
Лучший ответ
Егор Баркарь А теперь курим Википедию и берёмся за голову - Левин-то прав!!

"Most pocket calculators have a square root key. Computer spreadsheets and other software are also frequently used to calculate square roots. Pocket calculators typically implement efficient routines, such as the Newton's method (frequently with an initial guess of 1), to compute the square root of a positive real number.[11][12] When computing square roots with logarithm tables or slide rules, one can exploit the identities

a = e ( ln ⁡ a ) / 2 = 10 ( log 10 ⁡ a ) / 2 , {\displaystyle {\sqrt {a}}=e^{(\ln a)/2}=10^{(\log _{10}a)/2},} {\displaystyle {\sqrt {a}}=e^{(\ln a)/2}=10^{(\log _{10}a)/2},}

where ln and log10 are the natural and base-10 logarithms."

https://en.wikipedia.org/wiki/Square_root#Computation
Сергей Большов Нет смысла слушать вопли безграмотных идиотов, типа комментящего выше, тут прямо указывается, что метод Ньютона не используется в реальных калькуляторах из-за дороговизны машинного времени при делении на 2
[ссылка заблокирована по решению администрации проекта]
"However, this formula requires a division every iteration,
which is itself quite an expensive operation."
способов мильон и маленькая тележка. Или "метод касательных" (см. ссылка у Бурмистрова), он же Ньютона (хотя его еще древние греки знали) или с помощью аппроксимаций.

вот, скопирую из моего же старого ответа:
1. есть алгоритм вычисления "уголком", не знаю, как сейчас, раньше в школе проходили, 8-й класс, не сложнее деления уголком.

2. есть древний сверхбыстрый алгоритм (в самом деле - метод Ньютона, он же - касательных).

Хотим извлечь корень из А, обозначим точный корень как r.

Возьмем какое-то начальное приближение r0. Вообще-то можно взять какое попало положительное число, но быстрее будет, если мы возьмем r0 больше, чем r, но не намного больше.
Например, если надо извлечь из А=123456, можно взять 400 - знаков вдвое меньше, первая цифра 4 в начале - что-то около корня из 12. Если лень - можно взять просто r0=A.

А теперь посмотрим на число A/r0: если у нас r0 < r, то A/r0 > r, и наоборот, если у нас r0 > r, то A/r0 < r.
Значит неизвестный нам точный корень r лежит где-то между r0 и A/r0. Давайте возьмем в качестве нового приближения середину этого отрезка, то есть r1=(r0 + A/r0) / 2. Потом так же получим следующее приближение итд.

Такой метод удваивает число точных знаков на каждом шаге, так что долго считать не придется.

Например:
400.00000000000000
354.32000000000000
351.37539850982200
351.36306031259300
351.36306009596400
351.36306009596400
- все сошлось на 15 знаков точности
Анна Ошкина Цветкова И "миллиона способов" давно нет, 99 и хрен десятых всех калькуляторов давно штампуются в китае, а они экспериментированием не занимаются - лупят во всех CORDIC и всё
Егор Баркарь Михаил не обращайте на него внимания, англо-Вика говорит, что метод Ньютона используется.
https://ru.wikipedia.org/wiki/Алгоритм_нахождения_корня_n-ной_степени
а просто в википедии посмотреть слабо?
КF
Колян Fr
94 701
вычисляешь логарифм числа, умножаешь на два и вычисляешь антилогарифм.
Леся Июльская... Может, делишь на два, "Просветлённо-затемнённый"?!

Похожие вопросы