Дни в году непрерывная последовательность 1-365. Год не високосный, поэтому в феврале 28 дней.
Каждый месяц это интервал. Январь - от 1 до 31, Февраль - от 32 до (31+28)...
1) Сначала вводится число (от 1 до 7), на которое приходятся первое воскресенья января
Это первоначальное смещение idx
2) Идем по 7 от первоначального смещения (включительно - вдруг задали январь) idx = idx + 7.
3) Если попадаем в интервал заданного месяца, то вычитаем начало интервала и получаем дату.
ps. Во всех формулах надо баловаться с +-1
это решение в лоб без библиотек, есть варианты и по быстрее.