*Теория* | Извлечение корня N-степени

Ответить
Аватара пользователя
Coutty

*Теория* | Извлечение корня N-степени

Сообщение Coutty »

Школьное определение ("Корнем степени P числа M будет такое число T, которое при возведении в степень P даст M") не годится для вычисления корней - ведь не перебором же они считаются, иначе как калькулятор может выдавать число с длинным рядом цифр после запятой. Должен быть какой-то алгоритм. Подскажите, кто знает.



На вопрос "Зачем это нужно?":

1. Иногда нужно вычислить корень из некоторого нетабличного числа (скажем, корень из 247,5), а под рукой нет вычислительных устройств. Точность плюс-минус 0,5 не подходит - нужно хотя бы до третьего знака после запятой. Скажете: "А где в жизни это вообще встречается?" - Ну, например, на экзамене по физике ;-)

2. С этим алгоритмом можно будет считать "ручками" дробные степени.

3. Просто интересно.
Аватара пользователя
XPEHOMETP

Re: *Теория* | Извлечение корня N-степени

Сообщение XPEHOMETP »

Цитата:



корень из 247,5



247.5 = 225 + 22.5 = (15 + х)^2 - надо найти этот х

Стало быть,

30х + х^2 = 22.5

Икс у нас маленький,
Аватара пользователя
XCodeR

Re: *Теория* | Извлечение корня N-степени

Сообщение XCodeR »

а калькулятор на экзамене уже(теперь) запрещен?
Аватара пользователя
Coutty

Re: *Теория* | Извлечение корня N-степени

Сообщение Coutty »

XCodeR, калькулятор даже рекомендуется к использованию. Просто у нас (бедных студентов=^_^= ) всего два калькулятора на группу бывает. Кроме того - просто интересно, как это работает. Попробовать алгоритм сваять...

XPEHOMETP, спасибо! Работает))



Экзамен по физике, правда, уже прошёл и больше не планируется, но на будущее сгодится.

Пойду, попробую на C# переложить...



UPD:

Идём дальше. Пример: корень 5 степени из 6354.

корень = (5 + х)^5.

3125 + 625x + 125x^2 + 25x^3 + 5x^4 + x^5 = 6354

Если пренебречь всем, что степени выше единицы (оставить 3125 + 625х = 6354), то х = 5,1676... Т.е. больше единицы. Соответственно, пренебрегать нельзя. Решаем тогда квадратное уравнение. Получается два корня. Или кубическое - тогда три. Какое число брать? Есть предположение, что то, которое положительное и меньше единицы, но вдруг таких будет несколько? Я не могу проверить - просто не решу кубическое уравнение.

Или тут нужен другой подход?
Аватара пользователя
Ser6720

Re: *Теория* | Извлечение корня N-степени

Сообщение Ser6720 »

Coutty

Вот ещё способ, самый простой, преподавался в школе

http://www.sctc.msiu.ru/files/10clas...77925045a73e9b
,

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



ещё есть (была) логарифмическая линейка



P.S.

Вот ещё
http://www.krugosvet.ru/articles/15/1001515/print.htm
Аватара пользователя
Coutty

Re: *Теория* | Извлечение корня N-степени

Сообщение Coutty »

ser6720, почитал по первой ссылке - почувствовал себя идиотом. По второй всё понятно (даже алгоритм Евклида вспомнил...). Спасибо.



Про линейку ничего не знаю, кроме её внешнего вида))



Да, кстати, то, что я выше пятую степень суммы разложил - это же чушь полная... Я там множители для слагаемых упустил. Надо-то было так: (5+x)^5 = 3125 + 5*625x + 10*125x^2 + 10*25x^3 + 5*5x^4 + x^5
Аватара пользователя
Ser6720

Re: *Теория* | Извлечение корня N-степени

Сообщение Ser6720 »

Coutty


Цитата:



почитал по первой ссылке - почувствовал себя ......



А как ты хотел, XV век, однако.

Попробую показать.



Задача - извлечь корень квадратный из числа 294849.

Записываем в виде 29.48.49

Силой логики ума находим число, кот. будучи возведённое в квадрат, даст результат близкий к 29.

Очевидно это 5, т.к. 5^2=25,

таким образом 5 это первая цифра ответа.

Далее

**29.48.49

**25

----------------------

10I448



где 29-25=4, к 4 сносим 48,

на * не обращай внимания,

I -это вертикальная черта,

а 10 слева от вертикальной черты, есть удвоенное значение первой цифры ответа, т. е. 5 х 2=10

Теперь в записи 10I448, выделяем число 104 (10 слева от вертик. черты и 4 справа)

Далее силой логики ума находим число, умножив которое на 104, получим число близкое к 448.

Очевидно это 4 , т. к. 104х4=416.

4 есть вторая цифра ответа, т. е. уже есть 54

Далее

***29.48.49

***25

-----------------------------------

*10I448

***I416

------------------------

*108I3249



где 448-416=32,

к 32 сносим 49, получаем 3249.

108 это удвоенное значение промежуточного результата 54х2=108.

I - вертикальная черта.

Теперь в записи 108I3249, выделяем число 1083 (108 слева от вертик черты и 3 справа).

Затем в уме находим число, на которое нужно умножить 1083, чтобы получить 3249.

В данном случае это 3 , т.к. 1083х3=3249.

3 это третья цифра ответа.

Итак



***29.48.49

***25

------------------------первая цифра ответа 5

*10I448

***I416

------------------------вторая цифра ответа 4 , или уже 54

*108I3249

****I3249

------------------------третья цифра ответа 3

********0

итого, ответ:543

Уфффф, написал, надеюсь более понятно, а если непонятно, то не ругай, всё что смог.
Аватара пользователя
Coutty

Re: *Теория* | Извлечение корня N-степени

Сообщение Coutty »

Первый взгляд:

:Ohmy: Изображение Изображение



Первый проход:

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



Второй проход:

Попробовал решить. "Угадал" только первую цифру.



Третий проход:

Сошлось до второго знака после запятой. Дальше забил, т.к. мозг выдохся. В принципе, можно даже на практике применять уже.



ser6720, Вы гений! Жаль, что Вы не преподаёте у нас какую-нибудь из математик... =(
Ответить

Вернуться в «Программирование и базы данных»