Ein gemeinsames Jahr ist ein Jahr, das kein Schaltjahr ist und in dem der erste und der letzte Tag des Jahres am selben Tag liegen. Ein besonderes gemeinsames Jahr beginnt an einem Montag und endet auch an einem Montag.
Ihre Herausforderung besteht darin, ein Programm / eine Funktion zu erstellen, die, wenn ein Jahr als Eingabe angegeben wird, das nächste spezielle gemeinsame Jahr findet und sich selbst ausgibt, wenn es ein gemeinsames Jahr ist. Wenn das Jahr dem vorhergehenden so nahe kommt wie das daneben, wird das größere ausgegeben.
Eingang
Eine Ganzzahl, die das Jahr darstellt, gegen das im Bereich getestet werden soll 1600 <= x <= 2100
.
Ausgabe
Eine Ganzzahl, die das nächste gemeinsame Sonderjahr darstellt.
Testfälle
2017 -> 2018
2018 -> 2018
1992 -> 1990
1600 -> 1601
2100 -> 2103
1728 -> 1731 (lies between 1725 and 1731)
Anmerkungen
Alle 54 Jahre im angegebenen Bereich sind bereits im verlinkten Wikipedia-Artikel aufgeführt. Ich werde sie auch hier als Referenz bereitstellen:
1601, 1607, 1618, 1629, 1635, 1646, 1657, 1663, 1674, 1685, 1691
1703, 1714, 1725, 1731, 1742, 1753, 1759, 1770, 1781, 1787, 1798
1810, 1821, 1827, 1838, 1849, 1855, 1866, 1877, 1883, 1894, 1900
1906, 1917, 1923, 1934, 1945, 1951, 1962, 1973, 1979, 1990
2001, 2007, 2018, 2029, 2035, 2046, 2057, 2063, 2074, 2085, 2091
2103 (Needed for 2097 to 2100)
a year that is not a leap year and where the first and last day of the year are on the same day
Der zweite Teil dieser Definition ist redundant. Alle Nicht-Schaltjahre beginnen und enden am selben Tag und sind genau 52 Wochen und ein Tag (365 Tage) lang.
6, 11, 11
. IE 6 Jahre nach dem ersten ist ein anderer, 11 Jahre danach ist ein anderer, 11 Jahre danach ist ein anderer, 6 Jahre danach ist ein anderer usw.