Rust fizzbuzz — это классическое упражнение по программированию под названием FizzBuzz, которое часто используется для оценки базовых навыков программиста. В FizzBuzz вы пишете программу, которая печатает числа от 1 до заданного числа, но для кратных трем вместо числа печатает «Fizz», а для кратных пяти — «Buzz». Для чисел, кратных трем и пяти, печатается «FizzBuzz».
Вот несколько различных способов реализации FizzBuzz в Rust, а также примеры кода:
Метод 1: использование базового цикла и операторов if-else
fn fizzbuzz(n: u32) {
for i in 1..=n {
if i % 3 == 0 && i % 5 == 0 {
println!("FizzBuzz");
} else if i % 3 == 0 {
println!("Fizz");
} else if i % 5 == 0 {
println!("Buzz");
} else {
println!("{}", i);
}
}
}
fn main() {
fizzbuzz(15);
}
Метод 2: использование выражения соответствия
fn fizzbuzz(n: u32) {
for i in 1..=n {
match (i % 3, i % 5) {
(0, 0) => println!("FizzBuzz"),
(0, _) => println!("Fizz"),
(_, 0) => println!("Buzz"),
_ => println!("{}", i),
}
}
}
fn main() {
fizzbuzz(15);
}
Метод 3. Использование итераторов и карты
fn fizzbuzz(n: u32) {
(1..=n).map(|i| {
match (i % 3, i % 5) {
(0, 0) => "FizzBuzz".to_string(),
(0, _) => "Fizz".to_string(),
(_, 0) => "Buzz".to_string(),
_ => i.to_string(),
}
}).for_each(|output| println!("{}", output));
}
fn main() {
fizzbuzz(15);
}
Это всего лишь несколько примеров того, как можно реализовать FizzBuzz в Rust. Вы можете использовать любой из этих методов в зависимости от ваших предпочтений и требований.