Помощь - Поиск - Пользователи - Календарь
Полная версия: Помогите с произвольными степенями....
Форум «Всё о Паскале» > Pascal, Object Pascal > Теоретические вопросы
v-pest
Помогите пожалуйста, как можно возвести отрицательное число в произвольную степень, например (-1)^4;  (exp(ln(-1)/4) - не работает... выдает ошибку, таким образом можно возвести в степень только положительные числа.

Помогите.... help me...
___ALex___
в целую степень или в любую?
и через экспоненту неправильно написано
v-pest
И точно не правильно, надо было вместо деления умножение ставить... 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;

Но если есть другие варианты, пожалуйста пишите, я приму в сведение. smile.gif
___ALex___
2^(-0.35) = 1 / 2^0.35
y = 1 / Exp(0.35 * Ln(2))
вот так записываются положительные числа
в отрицательных степенях через экспоненту
если ещё и само число будет отрицательным - сам подумай как сделать
тоже это очень просто
Clane
Тут на форуме этот вопрос уже много раз обсуждался, даже приводился готовый вариант функции.... Пользуйся поиском.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.