取 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
,没问题。
在 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
,没问题。