Если число не является совершенной степенью, factorIntegerPower возвращает само число в качестве основы с экспонентом 1. Итак, число является совершенной степенью, если оно не равняется его основе.
Проверьте, 125 является совершенной степенью. isequal возвращает логический 0 (false), что означает 125 не равен возвращенной основе. Поэтому 125 является совершенной степенью.