823年ぶりらしいので調べた
4行で収まる条件は、
- 2月が日曜日から始まる
- うるう年でない
の2つなので、ちゃちゃっと計算させてみましょう。
require 'date' 2015.downto(0) do |year| date = Date.new(year, 2, 1) puts year if date.wday == 0 && !date.leap? end
結果は、
$ ruby date.rb 2015 2009 1998 1987 1981 1970 1959 1953 1942 1931 1925 1914 1903 1891 1885 1874 1863 1857 1846 1835 1829 1818 1807 1801 1795 1789 1778 1767 1761 1750 1739 1733 1722 1711 1705 1699 1693 1682 1671 1665 1654 1643 1637 1626 1615 1609 1598 1587 1579 1573 1562 1551 1545 1534 1523 1517 1506 1495 1489 1478 1467 1461 1450 1439 1433 1422 1411 1405 1394 1383 1377 1366 1355 1349 1338 1327 1321 1310 1299 1293 1282 1271 1265 1254 1243 1237 1226 1215 1209 1198 1187 1181 1170 1159 1153 1142 1131 1125 1114 1103 1097 1086 1075 1069 1058 1047 1041 1030 1019 1013 1002 991 985 974 963 957 946 935 929 918 907 901 890 879 873 862 851 845 834 823 817 806 795 789 778 767 761 750 739 733 722 711 705 694 683 677 666 655 649 638 627 621 610 599 593 582 571 565 554 543 537 526 515 509 498 487 481 470 459 453 442 431 425 414 403 397 386 375 369 358 347 341 330 319 313 302 291 285 274 263 257 246 235 229 218 207 201 190 179 173 162 151 145 134 123 117 106 95 89 78 67 61 50 39 33 22 11 5
よくも騙してくれたな、のび太。
ちなみに、グレゴリオ暦が制定されたのは1582年で、日本で採用されたのは1872年のことです。