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