LINUX.ORG.RU
Форум — Talks  

[школота]Способы нахождения квадратного корня

 


1

1

Учусь я в 8 классе и прошел тему «Квадратный корень». Авторы учебника предлагают находить квадратный корень методом перебора, что мне не нравится. Кто знает способы нахождения квадратного корня, доступные для понимания школьника? Я читал статью в википедии, но предложенные там способы либо весьма приблизительны либо сложны.

★★

Разложить подкоренное выражение на множители?

POLTER ★★
()

Метод Ньютона, sqrt(a) = (x_n + a/x_n)/2
(«Алгоритмические трюки для программистов», Генри Уоррен, мл., М.: «Вильямс», 2003)

pacify ★★★★★
()

#include <math.h>
double sqrt(double x);

:)

Stahl ★★☆
()

бред.
учился в физмате и на память все квадратные корни искались слету. даже методом подбора можно примерно определить диапозон узнать ответ.

mityash ★
()

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

krakatau ★
()

>предлагают находить квадратный корень методом перебора
Какбы, иногда, всё-таки приходится прислушываться к советам из учебника :-).
Можешь ещё выучить значения квадратов различных чисел. Перебор со словарём получится, но как фоллбэк брутфорс всеравно останется...

Bad_ptr ★★★★★
()

:)))
сумма корней = -б
произведение корней = ц

Работает не всегда :)

Jetty ★★★★★
()
Ответ на: комментарий от mityash

Когда я учился в физмате, нас еще заставляли учить таблицу степеней (результат < 1024). Как вариант для автора - выучить такую таблицу :)

anonymous_ ★
()
Ответ на: комментарий от Bad_ptr

Хм... а что, разве нынче не модно учить таблицу квадратов до 20-ти ?

Правда я ее никогда не учил... просто решал задачки и оно как-то само :)

Jetty ★★★★★
()

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

Deleted
()
Ответ на: комментарий от netcat

В школьной математике ПОЧТИ НИГДЕ не встречаются задачи, когда нужно приближенное значение корня. Если получается в ответе корень, то так его и пиши.

Deleted
()

По-взрослому это делается итеративно. То есть на первом шаге вычисляешь приближенное значение корня. На втором шаге - находишь более точное приближение. На третьем - еще более точное. И так далее. Этим способом можно добиться любой заранее заданной точности, хоть 100000000 знаков после запятой.

Методов для итеративного вычисления много. Один из наиболее универсальных называется методом «хорд и касательных». http://ru.wikipedia.org/wiki/Метод_хорд_и_касательных

Конкретно для нахождения корней есть более специализированный метод - итерационная формула Герона. http://ru.wikipedia.org/wiki/Итерационная_формула_Герона

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

Manhunt ★★★★★
()

Помнится делением можно как-то находить. Но я уже не помню.

Quasar ★★★★★
()
Ответ на: комментарий от Bad_ptr

Прямой брутфорс НИКОГДА не нужен. Если ничего другого не остается, можно бинарным делением.

Deleted
()

тред не читал, Метод Ньютона

kovrik ★★★★★
()
Ответ на: комментарий от Deleted

>Если ничего другого не остается, можно бинарным делением.
Пока Петя будет извращатся. Вася уже решит методом интуитивного подбора и будет вола пинать, пока учитель не даст следующее задание.

Bad_ptr ★★★★★
()

Разложить в ряд Тейлора, но это не для школьников. Это сложнее чуть-чуть.

mi_estas ★
()
Ответ на: комментарий от netcat

1. h - верхняя граница (число, при котором h^2 > числа, из которого надо добыть корень, изначально взять от балды, но чем ближе оно к искомому корню, тем меньше итераций), l - нижняя (любое число, такое, что l^2 < числа, которое надо добыть, тоже можно взять от балды, но чем ближе к искомому корню, тем лучше).

2. Находишь m = (l + h) / 2

3. Если m^2 больше, чем число, с которого надо добыть корень, то r = m, иначе l = m

4. Повторить 2-4, пока не будет получено значение с достаточной точностью.

Deleted
()
Ответ на: комментарий от DuratarskeyK

> http://comp-science.hut.ru/DL-AR/koren.html

Да ну, проще сделать так: разложить число на множители, а потом просто выкинуть парные:
$ factor 138384
138384: 2 2 2 2 3 3 31 31

Например тут число много раз делится на 2 и 3, а у них есть лёгкие признаки делимости.

Останется 961, а тут уже подобрать корень — не проблема.

Правда если целого квадрата не находится, то можно после разложения подобрать сомножетели что бы они были поближе друг к другу, а потом использовать например среднее арифметическое.

Xenius ★★★★★
()

> Учусь я в 8 классе и прошел тему «Квадратный корень».

Кто знает способы нахождения квадратного корня, доступные для понимания школьника?

пользоваться калькулятором нельзя

Разбивать на простые множители учили?

damnemall ★
()
Ответ на: комментарий от netcat

Ну тогда разбиваешь подкоренное на простые множители. Два раза повторяется - выносишь за знак корня.

damnemall ★
()
Ответ на: комментарий от buddhist

где? ну развые что в костанте золотого сечения, но ее можно принять 1,62 и не париться

kombrig ★★★
()

составь таблицу всех возможных корней

stevejobs ★★★★☆
()

ряд Тейлора предлагали? Если да, то все равно тебе не поможет, быстрее подберешь, в 8м класе нет сложных заданий в принципе.

S-Mage ★★
()
Ответ на: комментарий от greenzu

*на мотив ламбады Разложу я функцию Тейлором
Разложу я функцию Тейлором
В ряд Макларена, а-а

kombrig ★★★
()

Советую Виета. Хотя сам всегда пользуюсь полным или облегчённым дискриминантом т.к. теорема Виета работает не всегда. Гугли.

CYB3R ★★★★★
()

>методом перебора

Из просто - можно перебирать бинарным поиском

hired777 ★
()
Вы не можете добавлять комментарии в эту тему: топик перемещен в архив.