Reto 0 # Fizz Buzz
Consigna
/*
* Escribe un programa que muestre por consola (con un print) los
* números de 1 a 100 (ambos incluidos y con un salto de línea entre
* cada impresión), sustituyendo los siguientes:
* - Múltiplos de 3 por la palabra "fizz".
* - Múltiplos de 5 por la palabra "buzz".
* - Múltiplos de 3 y de 5 a la vez por la palabra "fizzbuzz".
*/Soluciones
Python
Aqui va la solución en Python
def fizzbuzz() -> None:
for i in range(1, 101): # range(1, 101) es lo mismo que range(1, 100 + 1)
if i % 3 == 0 and i % 5 == 0:
print("fizzbuzz")
elif i % 5 == 0:
print("buzz")
elif i % 3 == 0:
print("fizz")
else:
print(i)
fizzbuzz()Rust
Aqui va la solución en Rust La solución en Rust es muy similar a la de Python, pero con algunas diferencias.
En Rust, los rangos son iteradores, que para definirlos se usa .. (o el ..= si queremos incluir el ultimo elemento) y para incluir el último número se usa ..=. Por ejemplo, 1..=100 es lo mismo que range(1, 100 + 1) en Python.
En Rust, los bloques de código se definen con {} y no con : como en Python. Además, los bloques de código no necesitan : al final.
Esta funcion se encuentra en archivo src/lib.rs por lo tanto, para poder usarla en el archivo main.rs se debe importar con use y luego llamarla con <Module Name>::reto_0().
Ademas de tener que agregar la Keyword pub al principio de la funcion para que sea publica.
pub fn reto_0() {
for i in 1..=100 {
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);
}
}
}
