How to check whether a number is a perfect cube root in Rust

1 Answer

0 votes
// 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

*/

 



answered Sep 2, 2024 by avibootz

Related questions

1 answer 50 views
1 answer 56 views
1 answer 76 views
1 answer 71 views
...