А моё решение такое. Первый покрывающий интервал - сам

. Потом нумеруем все рациональные числа внутри этого интервала:

. На первом шаге выбрасываем из

точку

. Интервал разобьётся на два -

и

. Это будут второй и третий покрывающий интервалы. На втором шаге выбрасываем дополнительно точку

. Получатся три интервала, которые нужно добавить в покрытие и т.д., на

-м шаге добавляем

интервалов, на которые отрезок

разбивается точками

. Ясно, что каждое рациональное число будет покрыто только теми интервалами, которые были добавлены до его выбрасывания, а каждое иррациональное - ровно одним на каждом шаге, которых бесконечное число.