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, adicione um diferencial tornando os divisores customizáveis através de parâmetros padrão.

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

  • n - o número a ser verificado (obrigatório)
  • fizz_divisor - o divisor para "Fizz" (opcional, o padrão é 3)
  • buzz_divisor - o divisor para "Buzz" (opcional, o padrão é 5)

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

Você receberá três linhas de entrada:

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

Faça um loop de 1 até n e chame seu método fizzbuzz atualizado com todos os três argumentos. Imprima cada resultado.

Por exemplo, se as entradas forem:

10
2
3

A saída deve ser:

1
Fizz
Buzz
Fizz
5
FizzBuzz
7
Fizz
Buzz
Fizz

Se as entradas forem:

15
3
5

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