def negative_fizz_buzz(n)
result = []
n.downto(1) do |i|
case
when i % 3 == 0 && i % 5 == 0
result << 'FizzBuzz'
when i % 3 == 0
result << 'Fizz'
when i % 5 == 0
result << 'Buzz'
else
result << i
end
end
result.reverse
end
# Example usage:
# Output: ["FizzBuzz", 98, "Fizz", "Buzz", "Fizz", 97, "Fizz", "Buzz", "Fizz", 94, "FizzBuzz", 92, "Fizz", "Buzz", "Fizz", 89, "Fizz", "Buzz", "Fizz", 86, "FizzBuzz", "Fizz", 83, "Fizz", "Buzz", "Fizz", 80, "Fizz", "Buzz", "Fizz", 77, "FizzBuzz", "Fizz", "Buzz", "Fizz", 74, "Fizz", "Buzz", "Fizz", 71, "FizzBuzz", 68, "Fizz", "Buzz", "Fizz", 65, "Fizz", "Buzz", "Fizz", 62, "FizzBuzz", "Fizz", 59, "Fizz", "Buzz", "Fizz", 56, "Fizz", "Buzz", "Fizz", 53, "FizzBuzz", "Fizz", "Buzz", "Fizz", 50, "Fizz", "Buzz", "Fizz", 47, "FizzBuzz", "Fizz", 44, "Fizz", "Buzz", "Fizz", 41, "Fizz", "Buzz", "Fizz", 38, "FizzBuzz", "Fizz", 35, "Fizz", "Buzz", "Fizz", 32, "Fizz", "Buzz", "Fizz", 29, "FizzBuzz", "Fizz", 26, "Fizz", "Buzz", "Fizz", 23, "Fizz", "Buzz", "Fizz", 20, "FizzBuzz", "Fizz", 17, "Fizz", "Buzz", "Fizz", 14, "Fizz", "Buzz", "Fizz", 11, "FizzBuzz", "Fizz", 8, "Fizz", "Buzz", "Fizz", 5, "Fizz", "Buzz", "Fizz", 2, "FizzBuzz"]
puts negative_fizz_buzz(100)