Помогите пожалуйста, как можно возвести отрицательное число в произвольную степень, например (-1)^4; (exp(ln(-1)/4) - не работает... выдает ошибку, таким образом можно возвести в степень только положительные числа.
Помогите.... help me...
___ALex___
23.05.2003 16:08
в целую степень или в любую? и через экспоненту неправильно написано
v-pest
23.05.2003 16:27
И точно не правильно, надо было вместо деления умножение ставить... sorry... :o Я тут и сам посидел и придумал маленькую процедурку, работает нормально и с отрицательными числами, но дробные не берет...
Function V_Stepen(znach:real; stepen:byte):real; var i : byte; k: real; begin k:=znach; for i:=1 to stepen-1 do k:=k*znach; V_Stepen:=k; end;
Но если есть другие варианты, пожалуйста пишите, я приму в сведение.
___ALex___
23.05.2003 17:04
2^(-0.35) = 1 / 2^0.35 y = 1 / Exp(0.35 * Ln(2)) вот так записываются положительные числа в отрицательных степенях через экспоненту если ещё и само число будет отрицательным - сам подумай как сделать тоже это очень просто
Clane
24.05.2003 0:16
Тут на форуме этот вопрос уже много раз обсуждался, даже приводился готовый вариант функции.... Пользуйся поиском.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.