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

Pratique por conta própria: Compilador de Ruby online