Menu
Coddy logo textTech

Adicionando o Toque Especial

Parte da seção Fundamentos do Journey de Ruby da Coddy. Lição 57 de 88.

challenge icon

Desafio

Fácil

Na lição anterior, você criou um programa FizzBuzz que percorre números usando os divisores padrão 3 e 5. Agora, acrescente a variação tornando os divisores personalizáveis por meio de parâmetros padrão.

Modifique seu método fizzbuzz para aceitar três argumentos:

  • n - o número a verificar (obrigatório)
  • fizz_divisor - o divisor de "Fizz" (opcional, padrão: 3)
  • buzz_divisor - o divisor de "Buzz" (opcional, padrão: 5)

O método deve usar esses divisores personalizados em vez de valores codificados diretamente ao verificar a divisibilidade.

Você receberá três linhas de entrada:

  1. O limite superior n
  2. O divisor de fizz
  3. O divisor de buzz

Percorra de 1 até n e chame seu método fizzbuzz atualizado com os três argumentos. Imprima cada resultado.

Por exemplo, se as entradas forem:

10
2
3

A saída deverá ser:

1
Fizz
Buzz
Fizz
5
FizzBuzz
7
Fizz
Buzz
Fizz

Se as entradas forem:

15
3
5

A saída deverá ser:

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz

Experimente você mesmo

# Read input
n = gets.chomp.to_i

# Method from previous lesson
def check_divisible(number, divisor)
  return number % divisor == 0
end

# Create the fizzbuzz method
def fizzbuzz(n)
  if check_divisible(n, 3) && check_divisible(n, 5)
    return "FizzBuzz"
  elsif check_divisible(n, 3)
    return "Fizz"
  elsif check_divisible(n, 5)
    return "Buzz"
  else
    return n.to_s
  end
end

# Loop through numbers from 1 to n and print the result
(1..n).each do |i|
  puts fizzbuzz(i)
end

Todas as lições de Fundamentos

Pratique por conta própria: Compilador de Ruby online