Skip to main content

Возведение отрицательных чисел в степень

  В Icon есть небольшая проблема, связанная с математикой, а именно — неумение интерпретатора возводить в степень отрицательные числа.

Однако, это не особо и проблема, поскольку можно применить небольшое и изящное решение:

procedure pow(x,y)
if  x < 0 then {
  if y % 2 = 0 then return abs(x)^y else return -(abs(x)^y)
} else return x^y
end

И все: теперь функцию pow можно применять вместо обычного возведения в степень, если существует риск получения выражения с отрицательным знаком, к которому в последствии может быть применена операция ^.

Добавить комментарий