Une année commune est une année qui n'est pas une année bissextile et où le premier et le dernier jour de l'année sont le même jour. Une année commune spéciale est une année qui commence un lundi et se termine donc un lundi également.
Votre défi est de créer un programme / une fonction qui, une fois donnée une année, trouvera l'année commune spéciale la plus proche, se produisant elle-même s'il s'agit d'une année commune. Si l'année est aussi proche de celle qui la précède que celle qui la suit, sortez la plus grande.
Contribution
Un entier représentant l'année de test dans la plage 1600 <= x <= 2100
.
Production
Un entier représentant l'année commune spéciale la plus proche.
Cas de test
2017 -> 2018
2018 -> 2018
1992 -> 1990
1600 -> 1601
2100 -> 2103
1728 -> 1731 (lies between 1725 and 1731)
Remarques
Les 54 années dans la fourchette donnée sont déjà présentées dans l'article Wikipedia lié. Je vais également les fournir ici pour référence:
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
La deuxième partie de cette définition est redondante. Toutes les années non bissextiles commencent et se terminent le même jour, soit exactement 52 semaines et un jour (365 jours).
6, 11, 11
. IE 6 ans après le premier est un autre, 11 ans après c'est un autre, 11 ans après c'est un autre, 6 ans après c'est un autre, etc.