• Kazumara@discuss.tchncs.de
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    1 year ago

    Leap years are each fourth year, except each hundredth year, except each thousandth fourhundredth year.

    1896 leap year
    1900 not leap year
    1904 leap year
    …
    1996 leap year
    2000 leap year
    2004 leap year
    …
    2096 leap year
    2100 not leap year
    2104 leap year

    Then you just arrange the 10 year window in different positions to overlap 1 to 3 leap years to reveal the three outcomes of the bug.

    - / - - - / - - - /
    - - / - - - / - - -
    - - 0 - - - / - - -

    - is a normal year, / is a leap year, 0 is an exceptional non-leap year.

    • sexybenfranklin@ttrpg.networkdeleted by creator
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      Small correction, it’s every fourth year except every hundreth year except every 400th year. I’m assuming the misconception comes from the last time it was a 100th also being a 1000th (2000) but the next time a leap year will end in 00 is 2400

      • Kazumara@discuss.tchncs.de
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

        Ahh right! Thanks for correcting me. Now that you mention it I remember too. It also makes sense, a year is roughly 365.2425 days long. Add 0.25 (one out of four), subtract 0.01 (one out of hundred), add another 0.0025 (2.5 out of thousand which is 1 out of 400)