![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
есть уравнение: x^n (х в степени n)=a.
Как его ЭФФЕКТИВНО, не методом деления отрезка пополам,алгоритмически решить? Мы умеем только возводить в степерь и делать сравнение? |
|||
|
||||
| Hroft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 20.10.2003 Где: Москва Репутация: нет Всего: 3 |
АНАЛИТИЧЕСКИ! Если степень четная, то n/2 корней a^(1/n), и столько же с другим знаком, если нечетная, то n таких первых корней. Какой еще алгоритм! Если только корень n-й степени посчитать.
|
|||
|
||||
| Adil' |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 26.8.2004 Где: Питер Репутация: 6 Всего: 15 |
Hroft, нее, это ж очень сложный алгоритм!
JackYF, вот блок схема: [IN a, n] [OUT pow(a,1./n)] Это сообщение отредактировал(а) Adil' - 16.11.2004, 13:33 -------------------- Удачи |
|||
|
||||
| Hroft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 20.10.2003 Где: Москва Репутация: нет Всего: 3 |
Да, так действительно намного лучше!
(ну все, пошел флейм) |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Люди, вы не поняли задание...
Программируется арифметика! Я умею только делать возведение в ЦЕЛУЮ степень , умножать, делить, слаживать и вычитать. По сути то что вы предлагаете это с аналитической точки зрения то же самое, но как ты число 1988904380628369210732856487696205 возведёшь в 1/3 степень? Точность должна сохраняться до последнего знака. Абсолютная погрешность не больше 1. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Ну тут кроме разложения в ряд вряд ли что придумаешь, т.е. представим корень n-ой степени из a в виде суммы, а какой ряд выбрать лучше в АЛГОРИТМАХ спроси
|
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Участвовал я в свое время в школьной олимпиаде, там была задача написать алгоритм, который перемножает числа любой длины. У меня получилось сделать через свой механизм хранения числе в виде текста. Это насчет точности для очень больших чисел. По воводу решения. ТО не монятно, все жж, как ие значения может принимать n? положительные, отрицательные, дробные, только целые. В общем виде, на ЭВМ для нахождения корня обычно используется полином Ньютона, который имеет квадратичную сходимость (нсчет сходимости - повторяю с чужих слов). P.S. Стоит посмотреть на библиотеку Linpack. Там много чего реализованно. Добавлено @ 11:19 Вот, может поможет |
|||
|
||||
| Adil' |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 26.8.2004 Где: Питер Репутация: 6 Всего: 15 |
-------------------- Удачи |
|||
|
||||
| JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 18 Всего: 162 |
Я тоже реализовую целочисленную длинную арифметику...
Что за библиотека Linpack? К Guest'у: какой такой ряд? Нельзя ли поподробнее? |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |