Взялся написать другу калькулятор, большую часть уже сворганил и все изи работает, но запарился с одной проблемкой, в калькуляторе есть функция корня что то вроде корень степени y из числа x x^1/y; Все замечательно, но есть одно большое НО - дробные числа. Тобишь допустим как рассчитать выражение где x = -4.4 y=- 5.5 Искал в интурнете алгоритмы и формулы, но безуспешно, по большей части все толкают долбанный sqrt, pow подобные выражения не решает, а вот шиндовский калькулятор выдает ответ для такого. Собственно если кто знает формулу или алгоритм для расчета дробных и отрицательных корней и вообще любых корней, подскажите, буду благодарен )
Проблемы с расчетом степеней как таковой нету, проблема начинается если указатель степени корня дробный и отрицательный одновременно. Но я не знаю кто ошибается, калькулятор винды или это pow клинит.
Максим
Искусственный Интеллект
(198613)
Не для всех степеней есть ответ в вещественных числах. Например, как тебе известно, нельзя взять квадратный корень из отрицательного числа.
Корень квадратный считается как sqrt - это самая быстрая функция. Корень нечётной степени легко посчитать как произведение знака числа на стандартный pow модуля этого числа (корень n-й степени это возведение в степень 1/n). Отрицательные числа в дробную степень в действительных числах вообще не возводятся, и легко убедиться, что (-4.4)^(-5.5)=±i*корень (5/22)*3125/5153632 - это пара мнимых чисел. И даже если в знаменателе степени нечётное число - хоть и получается один действительный корень, но также ещё и множество комплексных, так что все расчёты, как ни крути, проводятся в поле комплексных чисел. Всякий раз, когда ты пытаешься через pow возвести отрицательное число в степень - будет ошибка, хотя бы потому что pow вычисляется через натуральный логарифм, который имеет действительные значения только для положительных чисел.
Все замечательно, но есть одно большое НО - дробные числа.
Тобишь допустим как рассчитать выражение где
x = -4.4
y=- 5.5
Искал в интурнете алгоритмы и формулы, но безуспешно, по большей части все толкают долбанный sqrt, pow подобные выражения не решает, а вот шиндовский калькулятор выдает ответ для такого.
Собственно если кто знает формулу или алгоритм для расчета дробных и отрицательных корней и вообще любых корней, подскажите, буду благодарен )