Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Simple test to see if year is a leap year

  1. Jun 26, 2012 #1
    I just stumbled across this on my own. I find that all leap years in the current calendar are multiples of 16. Therefore, to see if a year is a leap year, one need only to divide the year by 16 and see if there is a remainder. If so, the year is not a leap year. If not, the year is a leap year. Note that this only works for dates in the Gregorian calendar, which was created in 1582 AD but was not universally adopted for a few years. So you'll need to know when the country of interest adopted the Gregorian calendar.
     
  2. jcsd
  3. Jun 26, 2012 #2

    phyzguy

    User Avatar
    Science Advisor

    I don't think this is correct. Any year divisible by 4 is a leap year unless it is divisible by 100. For example 2004 and 2008 were leap years and neither one is divisible by 16.
     
  4. Jun 26, 2012 #3
    I don't follow your logic. 2012 is a leap year. I get 125.75 when I divide 2012 by 16.
     
  5. Jun 26, 2012 #4
    Iirc a year is leap if it is divisible by four, unless it ends in two zeros then it must be divisible by sixteen.
     
  6. Jun 26, 2012 #5

    D H

    User Avatar
    Staff Emeritus
    Science Advisor

    Almost. Years that are divisible by 400 are also leap years. One way to write this:
    [tex](N = 0\mod 4) \wedge ((N \ne 0 \mod 100) \vee (N = 0 \mod 400))[/tex]

    The test for whether a year is a leap year can be written in a number of ways, but it will always involve three modulus calculations. For example, this also works:
    [tex](N = 0\mod 16) \vee ((N = 0 \mod 4) \wedge (N \ne 0 \mod 25))[/tex]
     
  7. Jun 26, 2012 #6
    I thought this pseudocode from wikipedia was useful.

    if year modulo 400 is 0 then
    is_leap_year
    else if year modulo 100 is 0 then
    not_leap_year
    else if year modulo 4 is 0 then
    is_leap_year
    else
    not_leap_year

    It helps to see how 2000 was a leap year but 1900 was not.
     
  8. Jun 26, 2012 #7
    Got it. But the remainder is 3/4.

    Updated: If there is a remainder, and its denominator is 4, then the year is a leap year.
     
  9. Jun 26, 2012 #8

    D H

    User Avatar
    Staff Emeritus
    Science Advisor

    No! That would make 1900 a leap year, which it wasn't. It's a three-way test. See posts #5 and 6.
     
  10. Jun 27, 2012 #9

    haruspex

    User Avatar
    Science Advisor
    Homework Helper
    Gold Member
    2016 Award

    An interesting consequence of the leap year rules is that the 13th of the month falls on a Friday more often than 1/7.
     
  11. Jun 27, 2012 #10

    eumyang

    User Avatar
    Homework Helper

    I thought the remainder upon dividing 2012 by 16 is 12, not 3/4. :confused:
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Simple test to see if year is a leap year
Loading...