Menu
Coddy logo textTech

Iterando pelos Números

Parte da seção Fundamentos do Journey de R da Coddy — lição 54 de 78.

challenge icon

Desafio

Fácil

Na lição anterior, você criou a função fizzbuzz que lida com um único número. Agora, adicione um loop para processar um intervalo de números de 1 até um limite determinado.

Modifique seu código para:

  1. Ler um número n da entrada (este será o limite superior)
  2. Usar um loop for para iterar de 1 até n
  3. Para cada número no intervalo, chamar sua função fizzbuzz e imprimir o resultado

Cada resultado deve ser impresso em uma nova linha usando print().

Por exemplo, se a entrada for:

5

A saída deve ser:

[1] "1"
[1] "2"
[1] "Fizz"
[1] "4"
[1] "Buzz"

Se a entrada for:

15

A saída deve 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"

Experimente você mesmo

# Read input
con <- file("stdin", "r")
number <- 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))
  }
}

# Call the fizzbuzz function and print the result
print(fizzbuzz(number))

Todas as lições de Fundamentos