Вычисление кубического корня числа — распространенная математическая операция в различных приложениях. В этой статье блога мы рассмотрим различные методы вычисления кубического корня с использованием языка программирования Rust. Мы предоставим примеры кода для каждого метода, чтобы помочь вам понять их реализацию.
Метод 1: использование функции powf() из стандартной библиотеки
fn main() {
let num: f64 = 27.0; // The number for which we want to calculate the cube root
let cube_root = num.powf(1.0 / 3.0);
println!("Cube root: {}", cube_root);
}
Метод 2: реализация метода Ньютона
fn cube_root_newton(x: f64) -> f64 {
let mut guess = x / 3.0; // Initial guess
let epsilon = 0.0001; // Desired precision
while (guess - (x / guess).powf(2.0)).abs() > epsilon {
guess = (2.0 * guess + x / (guess.powf(2.0))) / 3.0;
}
guess
}
fn main() {
let num: f64 = 27.0;
let cube_root = cube_root_newton(num);
println!("Cube root: {}", cube_root);
}
Метод 3: использование функции cbrt() из контейнера num-traits
use num_traits::identities::Zero;
use num_traits::real::Real;
fn main() {
let num: f64 = 27.0;
let cube_root = num.cbrt();
println!("Cube root: {}", cube_root);
}
в ваш файл Cargo.toml, чтобы этот метод работал.)
В этой статье мы рассмотрели три различных метода вычисления кубического корня в Rust. Мы использовали функцию powf()из стандартной библиотеки, реализовали метод Ньютона и использовали функцию cbrt()из крейта num-traits. Каждый метод имеет свои преимущества и может использоваться в зависимости от требований вашего проекта.