Perfect Powers
Implement the function
val is_perfect_pow : int -> int -> bool
so that is_perfect_pow i n is true if and only if there is an integer \(k\) such that \(k^i = n\).
Examples
let _ = assert (is_perfect_pow 1 16) let _ = assert (is_perfect_pow 2 16) let _ = assert (not (is_perfect_pow 3 16)) let _ = assert (is_perfect_pow 4 16) let _ = assert (is_perfect_pow 3 (-8))