取 n 次根

Taking n-th root

在 Rust 中取任意数的 n 次方根的最佳方法是什么? 例如,num crate 只允许取整数类型的第 n 个主根,即 floor'ed 或 ceil'ed 值......如何最接近实际值?

Mathematically, nth根实际上是数的1 / n次幂。

你可以用f64::powf(num, 1.0 / nth)来计算这样的根。

fn main(){
    println!("{:?}", f64::powf(100.0, 1.0 / 3.0));
    // same as cbrt(100), cube root of 100
    // general formula
    // f64::powf(number, 1.0 / power)
}

你也可以用f32::powf,没问题。