input: Write a python function to generate all unique pairs of numbers that sum up to a given number.
  assert generate_pairs(10) == [(0, 10), (1, 9), (2, 8), (3, 7), (4, 6)]
  assert generate_pairs(5) == [(0, 5), (1, 4), (2, 3)]
  assert generate_pairs(0) == []
output: def generate_pairs(target_sum):
      pairs = []
      for i in range(target_sum // 2 + 1):
          pairs.append((i, target_sum - i))
      return pairs