// The cube root is a whole number. For example, 27 is a perfect cube, as ∛27 or (27)**1/3 = 3
use std::f64;
fn is_perfect_cube_root(x: i32) -> bool {
let x = x.abs();
let cube_root = (x as f64).powf(1.0 / 3.0).round() as i32;
(cube_root.pow(3)) == x
}
fn main() {
println!("{}", is_perfect_cube_root(16));
println!("{}", is_perfect_cube_root(64));
println!("{}", is_perfect_cube_root(27));
println!("{}", is_perfect_cube_root(25));
println!("{}", is_perfect_cube_root(-64));
println!("{}", is_perfect_cube_root(-27));
println!("{}", is_perfect_cube_root(729));
}
/*
run:
false
true
true
false
true
true
true
*/