Twoje wyzwanie jest niezwykle proste. Biorąc pod uwagę rok, wydrukuj wszystkie miesiące w tym roku, które będą zawierać piątek 13 zgodnie z kalendarzem gregoriańskim. Zauważ, że chociaż kalendarz gregoriański został wprowadzony dopiero w 1582 r., Dla uproszczenia będziemy udawać, że jest używany od 0001 rne.
Zasady
Pełne programy lub funkcje są dozwolone.
Dane wejściowe można przyjmować jako argumenty funkcji, ze STDIN lub jako argumenty wiersza poleceń.
Nie możesz używać żadnych wbudowanych dat i godzin.
Możesz bezpiecznie założyć, że wprowadzony rok będzie prawidłowy. Jeśli wartość wejściowa jest mniejsza niż 1, nie jest prawidłową liczbą całkowitą lub jest większa niż rodzimy typ liczbowy w Twoim języku, nie musisz sobie z tym poradzić i otrzymasz niezdefiniowane zachowanie.
Dane wyjściowe mogą być liczbami, w języku angielskim lub w innym formacie czytelnym dla człowieka, o ile podany zostanie standard.
Upewnij się, że bierzesz pod uwagę lata przestępne. I pamiętaj, że lata przestępne nie zdarzają się co 4 lata!
Porady
Ponieważ istnieje tak wiele różnych sposobów, aby to zrobić, nie chcę ci mówić, jak to zrobić. Jednak może to być mylące, od czego zacząć, więc oto kilka różnych niezawodnych sposobów określania dnia tygodnia od daty.
Wybierz datę rozpoczęcia ze znanym dniem tygodnia, na przykład poniedziałek, 1 stycznia, 0001 i dowiedz się, jak daleko od siebie są te dwa dni, i weź ten numer mod 7.
Próbka IO
2016 --> May
0001 --> 4, 7
1997 --> Jun
1337 --> 09, 12
123456789 --> January, October
Jak zwykle jest to gra w golfa, więc obowiązują standardowe luki i wygrywa najkrótsza odpowiedź.
0001 --> 5
:? Według tej strony (i mojego kodu) powinien to być kwiecień i lipiec.