Fácil 0 resueltos 0% de aceptación

Fizz Buzz

Construye una secuencia usando divisibilidad por 3 y 5.

Lo que aprenderás

  • Comprobar la divisibilidad entre 3 y 5
  • Ordenar bien las ramas if/else
  • Construir una lista de resultados en un bucle

Problema

Ver original (inglés)

Para cada entero desde 1 hasta limit, usa Fizz para los múltiplos de 3, Buzz para los múltiplos de 5 y FizzBuzz para los múltiplos de ambos. En los demás casos, utiliza el número escrito como texto. Devuelve las entradas en orden en lugar de imprimirlas.

Implementa fizz_buzz(limit).

Entrada

limit: El último entero a incluir.

Salida

Devuelve una lista de cadenas, una por cada entero desde 1 hasta limit.

Restricciones

0 ≤ limit ≤ 10,000. Un limit de 0 produce una lista vacía.

Ejemplos

Ejemplo 1
Entrada:
limit = 5

Salida esperada:
expected = ["1", "2", "Fizz", "4", "Buzz"]
Entrada:
long long limit = 5;

Salida esperada:
std::vector<std::string> expected = {"1", "2", "Fizz", "4", "Buzz"};
Entrada:
long limit = 5;

Salida esperada:
string[] expected = new string[] {"1", "2", "Fizz", "4", "Buzz"};

Explicación

3 es divisible por 3 y 5 es divisible por 5. Las demás entradas mantienen su número.

Ejemplo 2
Entrada:
limit = 0

Salida esperada:
expected = []
Entrada:
long long limit = 0;

Salida esperada:
std::vector<std::string> expected = {};
Entrada:
long limit = 0;

Salida esperada:
string[] expected = new string[] {};

Explicación

No hay enteros desde 1 hasta 0, así que la lista es vacía.

Cómo abordarlo

Inténtalo primero por tu cuenta y luego abre las pistas una a una.

Pista 1

Cada posición depende solo de la divisibilidad del entero actual por 3 y 5.

Pista 2

Construye la lista de resultados en orden comprobando ambas condiciones de divisibilidad para cada número.

Pista 3

Maneja con cuidado el límite inferior: si el límite es 0, el resultado es una lista vacía.

Complejidad esperada

tiempo O(n), espacio extra O(n)

Referencias

Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.

Aprende de otros

Soluciones de la comunidad

Aún no hay soluciones publicadas. Resuelve este reto para compartir la primera.