Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » *Теория* | Извлечение корня N-степени

Ответить
Настройки темы
*Теория* | Извлечение корня N-степени

Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204


Конфигурация

Профиль | Отправить PM | Цитировать


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

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

Отправлено: 13:11, 23-01-2007

 

Ветеран


Сообщения: 1647
Благодарности: 146

Профиль | Отправить PM | Цитировать


Цитата:
корень из 247,5
247.5 = 225 + 22.5 = (15 + х)^2 - надо найти этот х
Стало быть,
30х + х^2 = 22.5
Икс у нас маленький, <1, его квадрат - тем более, пренебрегаем, короче:
корень = 15 + 22.5/30 = 15.75
точное значение - 15,7321327225522732048718027051991
Для экзамена по физике сойдет. Для точности "до третьего знака после запятой" - придется итерационно: взяли х = 0.75, возвели в квадрат, подставили, где надо, получили:
корень = 15 + (22.5 - 0,5625)/30 = 15.73125
Ну, уже почти!
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:12, 23-01-2007 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для XCodeR

Ветеран


Сообщения: 878
Благодарности: 53

Профиль | Сайт | Отправить PM | Цитировать


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

Отправлено: 15:59, 23-01-2007 | #3


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


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

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

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

Последний раз редактировалось Coutty, 23-01-2007 в 18:24.


Отправлено: 17:59, 23-01-2007 | #4


Аватара для Ser6720

ЕСД


Сообщения: 1116
Благодарности: 98

Профиль | Отправить PM | Цитировать


Coutty
Вот ещё способ, самый простой, преподавался в школе
http://www.sctc.msiu.ru/files/10clas...77925045a73e9b,
в самом низу страницы, расписан текстом, хорош для больших чисел.

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

P.S.
Вот ещё http://www.krugosvet.ru/articles/15/1001515/print.htm

Последний раз редактировалось Ser6720, 24-01-2007 в 00:19.

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:08, 24-01-2007 | #5


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


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

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

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

Отправлено: 09:16, 24-01-2007 | #6


Аватара для Ser6720

ЕСД


Сообщения: 1116
Благодарности: 98

Профиль | Отправить PM | Цитировать


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
Уфффф, написал, надеюсь более понятно, а если непонятно, то не ругай, всё что смог.

Последний раз редактировалось Ser6720, 24-01-2007 в 22:42.

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:00, 24-01-2007 | #7


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


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

Первый проход:
Ну... Понять-то я вроде как немного понял. Но на практике уж точно не смогу применить

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

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

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

Отправлено: 22:12, 24-01-2007 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » *Теория* | Извлечение корня N-степени

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Извлечение корня третьей степени, возведение в степень Coutty AutoIt 2 24-12-2009 18:28
Какая нужна аппаратная часть для организации DFS корня? Ferum01 Microsoft Windows NT/2000/2003 3 14-09-2007 13:32
*Теория* | Нахождение коэффициентов полного уравнения 4 степени mrcnn Программирование и базы данных 5 21-09-2006 13:58
Глюк с определением Windows степени заполнения диска Sardaukar Microsoft Windows 95/98/Me (архив) 2 18-04-2004 12:57
Решение СЛАУ методом квадратного корня JCooper Программирование и базы данных 2 27-11-2003 02:35




 
Переход