Logo
Logo

15/09/2023

23:57 Hrs

User

Anonimous

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);
        }
    }
}