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
()

>доступные для понимания школьника?

1 и 2.

quickquest ★★★★★
()
Ответ на: комментарий от 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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.