Menu
Coddy logo textTech

Ajouter la variante

Fait partie de la section Fondamentaux du Journey R de Coddy — leçon 55 sur 78.

challenge icon

Défi

Facile

Dans la leçon précédente, vous avez créé un programme FizzBuzz qui parcourt les nombres en utilisant les diviseurs par défaut 3 et 5. Maintenant, ajoutez une variante en rendant les diviseurs personnalisables grâce aux paramètres par défaut.

Modifiez votre fonction fizzbuzz pour qu'elle accepte trois arguments :

  • n - le nombre à vérifier (obligatoire)
  • fizz_divisor - le diviseur pour "Fizz" (optionnel, par défaut 3)
  • buzz_divisor - le diviseur pour "Buzz" (optionnel, par défaut 5)

La fonction doit utiliser ces diviseurs personnalisés au lieu de valeurs codées en dur lors de la vérification de la divisibilité.

Vous recevrez trois lignes d'entrée :

  1. La limite supérieure n
  2. Le diviseur fizz
  3. Le diviseur buzz

Effectuez une boucle de 1 à n et appelez votre fonction fizzbuzz mise à jour avec les trois arguments. Affichez chaque résultat.

Par exemple, si les entrées sont :

10
2
3

La sortie devrait être :

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

Si les entrées sont :

15
3
5

La sortie devrait être :

[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"

Essayez vous-même

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

Toutes les leçons de Fondamentaux