input: Write a function to generate a list of all numbers from 0 to 50 in Python that are divisible by both 3 and 5. If the range or the divisor conditions change, the function should handle it accordingly.
  assert generate_divisible_numbers(50, [3, 5])==[0, 15, 30, 45]
  assert generate_divisible_numbers(100, [4, 5])==[0, 20, 40, 60, 80, 100]
  assert generate_divisible_numbers(30, [2, 3])==[0, 6, 12, 18, 24, 30]
  assert generate_divisible_numbers(25, [3, 5])==[0, 15]
  assert generate_divisible_numbers(10, [2, 3])==[0, 6]
output: def generate_divisible_numbers(n, divisors):
      return [i for i in range(n + 1) if all(i % d == 0 for d in divisors)]