Menu
Coddy logo textTech

Añadiendo el giro

Parte de la sección Fundamentos del Journey de R de Coddy. Lección 55 de 78.

challenge icon

Desafío

Fácil

En la lección anterior, creaste un programa FizzBuzz que recorre números usando los divisores predeterminados 3 y 5. Ahora, añade el giro haciendo que los divisores se puedan personalizar mediante parámetros predeterminados.

Modifica tu función fizzbuzz para que acepte tres argumentos:

  • n - el número que se comprobará (obligatorio)
  • fizz_divisor - el divisor de "Fizz" (opcional, el valor predeterminado es 3)
  • buzz_divisor - el divisor de "Buzz" (opcional, el valor predeterminado es 5)

La función debe usar estos divisores personalizados en lugar de valores codificados directamente al comprobar la divisibilidad.

Recibirás tres líneas de entrada:

  1. El límite superior n
  2. El divisor de fizz
  3. El divisor de buzz

Recorre desde 1 hasta n y llama a tu función fizzbuzz actualizada con los tres argumentos. Imprime cada resultado.

Por ejemplo, si las entradas son:

10
2
3

La salida debería ser:

[1] "1"
[1] "Fizz"
[1] "Buzz"
[1] "Fizz"
[1] "5"
[1] "FizzBuzz"
[1] "7"
[1] "Fizz"
[1] "Buzz"
[1] "Fizz"

Si las entradas son:

15
3
5

La salida debería ser:

[1] "1"
[1] "2"
[1] "Fizz"
[1] "4"
[1] "Buzz"
[1] "Fizz"
[1] "7"
[1] "8"
[1] "Fizz"
[1] "Buzz"
[1] "11"
[1] "Fizz"
[1] "13"
[1] "14"
[1] "FizzBuzz"

Pruébalo tú mismo

# Read input
con <- file("stdin", "r")
n <- as.numeric(suppressWarnings(readLines(con, n = 1)))

# Function from previous lesson
check_divisible <- function(number, divisor) {
  return(number %% divisor == 0)
}

# Create the fizzbuzz function
fizzbuzz <- function(n) {
  if (check_divisible(n, 3) && check_divisible(n, 5)) {
    return("FizzBuzz")
  } else if (check_divisible(n, 3)) {
    return("Fizz")
  } else if (check_divisible(n, 5)) {
    return("Buzz")
  } else {
    return(as.character(n))
  }
}

# Loop through numbers from 1 to n and print the result
for (i in 1:n) {
  print(fizzbuzz(i))
}

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de R online