Segunda-feira, 31 de outubro, é o Halloween. E isso me fez pensar - eu me pergunto que outros meses o último dia do mês também será uma segunda-feira?
Entrada
- Um número inteiro positivo em qualquer formato conveniente que represente um ano
10000 > y > 0
,. - A entrada pode ser preenchida com zeros (por exemplo,
0025
para o ano25
), se necessário.
Saída
- Uma lista dos meses desse ano em que o último dia do mês é uma segunda-feira.
- Pode ser como nomes de mês (por exemplo,
January, March, October
) ou nomes abreviados (Jan, Mar, Oct
) ou números (1, 3, 10
), como linhas separadas ou uma lista ou delimitada etc. etc., desde que não seja ambíguo para o leitor. - O formato de saída deve ser consistente:
- Para todos os anos de entrada (ou seja, não é possível gerar nomes de meses para algumas entradas e números de meses para outras entradas)
- Bem como consistente por saída (ou seja, não é possível saída
1
paraJanuary
na mesma saídaJul
paraJuly
) - Basicamente, escolha um formato e cumpra-o.
Regras
- Suponha que o calendário gregoriano para entrada / saída, até
y = 1
. - Os anos bissextos devem ser adequadamente contabilizados (como um lembrete: todos os anos divisíveis por 4, exceto os não divisíveis por 100, a menos que também divisíveis por 400 - 1700, 1800, 1900, todos não foram bissextos, mas 2000 foi).
- Você pode usar quaisquer ferramentas internas ou outras ferramentas de cálculo de data que desejar.
- Um programa completo ou uma função são aceitáveis. Se uma função, você pode retornar a saída em vez de imprimi-la.
- As brechas padrão são proibidas.
- Isso é código-golfe, portanto todas as regras usuais de golfe se aplicam e o código mais curto (em bytes) vence.
Exemplos
1 --> Apr, Dec
297 --> May
1776 --> Sep
2000 --> Jan, Jul
2016 --> Feb, Oct
3385 --> Jan, Feb, Oct