![]() |
*Теория* | Извлечение корня N-степени
Школьное определение ("Корнем степени P числа M будет такое число T, которое при возведении в степень P даст M") не годится для вычисления корней - ведь не перебором же они считаются, иначе как калькулятор может выдавать число с длинным рядом цифр после запятой. Должен быть какой-то алгоритм. Подскажите, кто знает.
На вопрос "Зачем это нужно?": 1. Иногда нужно вычислить корень из некоторого нетабличного числа (скажем, корень из 247,5), а под рукой нет вычислительных устройств. Точность плюс-минус 0,5 не подходит - нужно хотя бы до третьего знака после запятой. Скажете: "А где в жизни это вообще встречается?" - Ну, например, на экзамене по физике ;-) 2. С этим алгоритмом можно будет считать "ручками" дробные степени. 3. Просто интересно. |
Цитата:
Стало быть, 30х + х^2 = 22.5 Икс у нас маленький, <1, его квадрат - тем более, пренебрегаем, короче: корень = 15 + 22.5/30 = 15.75 точное значение - 15,7321327225522732048718027051991 Для экзамена по физике сойдет. Для точности "до третьего знака после запятой" - придется итерационно: взяли х = 0.75, возвели в квадрат, подставили, где надо, получили: корень = 15 + (22.5 - 0,5625)/30 = 15.73125 Ну, уже почти! |
а калькулятор на экзамене уже(теперь) запрещен?
|
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
Вот ещё способ, самый простой, преподавался в школе http://www.sctc.msiu.ru/files/10clas...77925045a73e9b, в самом низу страницы, расписан текстом, хорош для больших чисел. ещё есть (была) логарифмическая линейка P.S. Вот ещё http://www.krugosvet.ru/articles/15/1001515/print.htm |
ser6720, почитал по первой ссылке - почувствовал себя идиотом. По второй всё понятно (даже алгоритм Евклида вспомнил...). Спасибо.
Про линейку ничего не знаю, кроме её внешнего вида)) Да, кстати, то, что я выше пятую степень суммы разложил - это же чушь полная... Я там множители для слагаемых упустил. Надо-то было так: (5+x)^5 = 3125 + 5*625x + 10*125x^2 + 10*25x^3 + 5*5x^4 + x^5 |
Coutty
Цитата:
Попробую показать. Задача - извлечь корень квадратный из числа 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 Уфффф, написал, надеюсь более понятно, а если непонятно, то не ругай, всё что смог. |
Первый взгляд:
:Ohmy: :clever-ma :o Первый проход: Ну... Понять-то я вроде как немного понял. Но на практике уж точно не смогу применить :dont-know Второй проход: Попробовал решить. "Угадал" только первую цифру. Третий проход: Сошлось до второго знака после запятой. Дальше забил, т.к. мозг выдохся. В принципе, можно даже на практике применять уже. ser6720, Вы гений! Жаль, что Вы не преподаёте у нас какую-нибудь из математик... =( |
Время: 13:19. |
Время: 13:19.
© OSzone.net 2001-