NaN выводится, потому что — отрицательное число. И потом происходит извлечение корня из этого отрицательного числа.
Чтобы NaN не было, нужно передать положительное число в функцию Power(), а потом возвращенный результат сделать отрицательным. (Это сработает только для нечетных степеней корня)
Answers & Comments
NaN выводится, потому что — отрицательное число. И потом происходит извлечение корня из этого отрицательного числа.
Чтобы NaN не было, нужно передать положительное число в функцию Power(), а потом возвращенный результат сделать отрицательным. (Это сработает только для нечетных степеней корня)
Нужно немного изменить код:
if x > 5 then
begin
cosVal := cos(sqr(x));
if cosVal < 0 then
writeln(Power(abs(cosVal), 1 / 3) *-1)
else
writeln(Power(cosVal, 1 / 3));
end;