Menu
Coddy logo textTech

Добавляем изюминку

Часть раздела Основы путешествия по Ruby на Coddy — урок 57 из 88.

challenge icon

Задание

Легко

В предыдущем уроке вы создали программу FizzBuzz, которая перебирает числа, используя делители по умолчанию 3 и 5. Теперь добавьте изюминку, сделав делители настраиваемыми с помощью параметров по умолчанию.

Измените ваш метод fizzbuzz так, чтобы он принимал три аргумента:

  • n — число для проверки (обязательно)
  • fizz_divisor — делитель для "Fizz" (необязательно, по умолчанию 3)
  • buzz_divisor — делитель для "Buzz" (необязательно, по умолчанию 5)

Метод должен использовать эти настраиваемые делители вместо жестко заданных значений при проверке делимости.

Вы получите три строки входных данных:

  1. Верхний предел n
  2. Делитель для fizz
  3. Делитель для buzz

Запустите цикл от 1 до n и вызовите обновленный метод fizzbuzz со всеми тремя аргументами. Выведите каждый результат.

Например, если входные данные:

10
2
3

Вывод должен быть:

1
Fizz
Buzz
Fizz
5
FizzBuzz
7
Fizz
Buzz
Fizz

Если входные данные:

15
3
5

Вывод должен быть:

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

Попробуйте сами

# 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

Все уроки раздела Основы