Skip to content
Related Articles

Related Articles

Program to check if a given year is leap year

Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 24 Aug, 2022
Improve Article
Save Article

A year is a leap year if the following conditions are satisfied: 

  1. The year is multiple of 400.
  2. The year is multiple of 4 and not multiple of 100.
Leap year or not.

Leap year or not.

Recommended Practice

C++




// C++ program to check if a given
// year is leap year or not
#include <bits/stdc++.h>
using namespace std;
 
bool checkYear(int year)
{
    // If a year is multiple of 400,
    // then it is a leap year
    if (year % 400 == 0)
        return true;
 
    // Else If a year is multiple of 100,
    // then it is not a leap year
    if (year % 100 == 0)
        return false;
 
    // Else If a year is multiple of 4,
    // then it is a leap year
    if (year % 4 == 0)
        return true;
    return false;
}
 
// Driver code
int main()
{
    int year = 2000;
 
    checkYear(year) ? cout << "Leap Year":
                      cout << "Not a Leap Year";
    return 0;
}
 
// This is code is contributed
// by rathbhupendra


C




// C program to check if a given
// year is leap year or not
#include <stdio.h>
#include <stdbool.h>
 
bool checkYear(int year)
{
    // If a year is multiple of 400,
    // then it is a leap year
    if (year % 400 == 0)
        return true;
 
    // Else If a year is multiple of 100,
    // then it is not a leap year
    if (year % 100 == 0)
        return false;
 
    // Else If a year is multiple of 4,
    // then it is a leap year
    if (year % 4 == 0)
        return true;
    return false;
}
 
// driver code
int main()
{
    int year = 2000;
 
    checkYear(year)? printf("Leap Year"):
                   printf("Not a Leap Year");
    return 0;
}


Java




// Java program to check
// for a leap year
     
class Test
{
    static boolean checkYear(int year)
    {
        // If a year is multiple of 400,
        // then it is a leap year
        if (year % 400 == 0)
            return true;
     
        // Else If a year is multiple of 100,
        // then it is not a leap year
        if (year % 100 == 0)
            return false;
     
        // Else If a year is multiple of 4,
        // then it is a leap year
        if (year % 4 == 0)
            return true;
        return false;
    }
         
    // Driver method
    public static void main(String[] args)
    {
        int year = 2000;
        System.out.println( checkYear(2000)? "Leap Year" :
                           "Not a Leap Year" );
    }
}


Python3




# Python program to check leap year or not
def checkYear(year):
    if (year % 4) == 0:
        if (year % 100) == 0:
            if (year % 400) == 0:
                return True
            else:
                return False
        else:
             return True
    else:
        return False
 
# Driver Code
year = 2000
if(checkYear(year)):
    print("Leap Year")
else:
    print("Not a Leap Year")
     
# This code is contributed by Chinmoy Lenka


C#




// C# program to check
// for a leap year
using System;
 
class GFG
{
     
    static bool checkYear(int year)
    {
        // If a year is multiple of 400,
        // then it is a leap year
        if (year % 400 == 0)
            return true;
     
        // Else If a year is multiple of 100,
        // then it is not a leap year
        if (year % 100 == 0)
            return false;
     
        // Else If a year is multiple of 4,
        // then it is a leap year
        if (year % 4 == 0)
            return true;
        return false;
    }
         
    // Driver method
    public static void Main()
    {
        int year = 2000;
        Console.Write( checkYear(year)? "Leap Year" :
                                 "Not a Leap Year" );
    }
 
}
 
// This code is contributed by Sam007


PHP




<?php
// PHP code to check if a given
// year is leap year
 
function checkYear($year)
{
    // If a year is multiple of 400,
    // then it is a leap year
    if ($year % 400 == 0)
        print("Leap Year");
         
    // Else If a year is multiple of 100,
    // then it is not a leap year
    else if ($year % 100 == 0)
        print("Not a Leap Year");
             
    // Else If a year is multiple of 4,
    // then it is a leap year
    else if ($year % 4 == 0)
        print("Leap Year");
         
    else
        print("Not a Leap Year");
}
 
// Driver code
$year = 2000;
 
checkYear($year);
     
// This code is contributed by ash264
?>


Javascript




<script>
 
// Javascript program to check
// for a leap year
 
    function checkYear( year) {
        // If a year is multiple of 400,
        // then it is a leap year
        if (year % 400 == 0)
            return true;
 
        // Else If a year is multiple of 100,
        // then it is not a leap year
        if (year % 100 == 0)
            return false;
 
        // Else If a year is multiple of 4,
        // then it is a leap year
        if (year % 4 == 0)
            return true;
        return false;
    }
 
    // Driver method
      
        let year = 2000;
        document.write(checkYear(2000) ? "Leap Year" : "Not a Leap Year");
 
 
// This code is contributed by shikhasingrajput
 
</script>


Output:

Leap Year

Time Complexity : O(1)

Auxiliary Space: O(1)

Example 2: One line code for checking whether the year is a leap year or not.

C++




// One line C program to check if a
// given year is leap year or not
#include <bits/stdc++.h>
using namespace std;
 
bool checkYear(int year)
{
     
    // Return true if year is a multiple
    // 0f 4 and not multiple of 100.
    // OR year is multiple of 400.
    return (((year % 4 == 0) && (year % 100 != 0)) ||
             (year % 400 == 0));
}
 
// Driver code
int main()
{
    int year = 2000;
 
    checkYear(year)? cout << "Leap Year":
                     cout << "Not a Leap Year";
    return 0;
}
 
// This code is contributed by Akanksha Rai


C




// One line C program to check if a
// given year is leap year or not
#include <stdio.h>
#include <stdbool.h>
 
bool checkYear(int year)
{
// Return true if year is a multiple
// 0f 4 and not multiple of 100.
// OR year is multiple of 400.
return (((year % 4 == 0) && (year % 100 != 0)) ||
        (year % 400 == 0));
}
 
// driver code
int main()
{
    int year = 2000;
 
    checkYear(year)? printf("Leap Year"):
                printf("Not a Leap Year");
    return 0;
}


Java




// Java program to check
// for a leap year
     
class Test
{
    static boolean checkYear(int year)
    {
    // Return true if year is a multiple
    // of 4 and not multiple of 100.
    // OR year is multiple of 400.
    return (((year % 4 == 0) && (year % 100 != 0)) ||
            (year % 400 == 0));
    }
         
    // Driver method
    public static void main(String[] args)
    {
        int year = 2000;
        System.out.println(checkYear(2000)? "Leap Year" :
                           "Not a Leap Year" );
    }
}


Python3




# Python program to check leap year
# or not in a single line
 
def checkYear(year):
 
    # Return true if year is a multiple
    # of 4 and not multiple of 100.
    # OR year is multiple of 400.
    return (((year % 4 == 0) and (year % 100 != 0)) or (year % 400 == 0));
 
# Driver Code
year = 2000
if(checkYear(year)):
    print("Leap Year")
else:
    print("Not a Leap Year")
     
# This code is contributed by Chinmoy Lenka


C#




// C# program to check
// for a leap year
using System;
 
class GFG
{
    static bool checkYear(int year)
    {
        // Return true if year is a multiple
        // of 4 and not multiple of 100.
        // OR year is multiple of 400.
        return (((year % 4 == 0) && (year % 100 != 0)) ||
                (year % 400 == 0));
    }
         
    // Driver method
    public static void Main()
    {
        int year = 2000;
        Console.Write( checkYear(year)? "Leap Year" :
                                 "Not a Leap Year" );
    }
 
}
// This code is contributed by Sam007


PHP




<?php
// PHP code to check if a given
// year is leap year
 
function checkYear($year)
{
     
    // Return true if year is a multiple
    // 0f 4 and not multiple of 100.
    // OR year is multiple of 400.
    return ((($year % 4 == 0) &&
             ($year % 100 != 0)) ||
             ($year % 400 == 0));
}
 
// Driver code
$year = 2000;
 
checkYear($year)? print("Leap Year"):
                  print("Not a Leap Year");
 
// This code is contributed by ash264
?>


Javascript




<script>
// javascript program to check
// for a leap year
    function checkYear(year)
    {
     
        // Return true if year is a multiple
        // of 4 and not multiple of 100.
        // OR year is multiple of 400.
        return (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0));
    }
 
    // Driver method
    var year = 2000;
    document.write(checkYear(2000) ? "Leap Year" : "Not a Leap Year");
 
 
// This code is contributed by gauravrajput1
</script>


Output:

Leap Year

Time Complexity: O(1)

Auxiliary Space: O(1)

Example 3: Check Leap Year using Macros in C/C++

C++




// C++ implementation to check
// if the year is a leap year
// using macros
 
#include <iostream>
using namespace std;
 
// Macro to check if a year
// is a leap year
#define ISLP(y) ((y % 400 == 0) ||\
(y % 100 != 0) && (y % 4 == 0))
        
// Driver Code
int main()
{
    int year = 2020;
    cout << ISLP(year) << "\n";
    return 0;
}


Java




// Java implementation to check
// if the year is a leap year
// using macros
public class Main
{
  // Macro to check if a year
  // is a leap year
  static int ISLP(int y)
  {
    if((y % 400 == 0) ||
       (y % 100 != 0) &&
       (y % 4 == 0))
    {
      return 1;
    }
    else
    {
      return 0;
    }
  }
 
  // Driver code
  public static void main(String[] args)
  {
    int year = 2020;
    System.out.println(ISLP(year));
  }
}
 
// This code is contributed by divyeshrabadiya07.


Python3




# Python3 implementation to check
# if the year is a leap year
# using macros
 
# Macro to check if a year
# is a leap year
def ISLP(y):
  if((y % 400 == 0) or
     (y % 100 != 0) and
     (y % 4 == 0)):
    return 1;
  else:
    return 0;
 
# Driver code
if __name__=='__main__':
 
  year = 2020;
  print(ISLP(year));
 
  # This code is contributed by  Pratham76.


C#




// C# implementation to check
// if the year is a leap year
// using macros
using System;
class GFG {
     
  // Macro to check if a year
  // is a leap year
  static int ISLP(int y)
  {
    if((y % 400 == 0) ||
       (y % 100 != 0) &&
       (y % 4 == 0))
    {
      return 1;
    }
    else
    {
      return 0;
    }
  }
   
  // Driver code
  static void Main()
  {
    int year = 2020;
    Console.WriteLine(ISLP(year));
  }
}
 
// This code is contributed by divyesh072019


Javascript




<script>
// javascript implementation to check
// if the year is a leap year
// using macros
 
  // Macro to check if a year
  // is a leap year
  function ISLP(y)
  {
    if((y % 400 == 0) ||
       (y % 100 != 0) &&
       (y % 4 == 0))
    {
      return 1;
    }
    else
    {
      return 0;
    }
  }
 
  // Driver code
  var year = 2020;
  document.write(ISLP(year));
   
// This code is contributed by Amit Katiyar
</script>


Output:

1

Time Complexity : O(1)

Auxiliary Space: O(1)

Explanation:

The program outputs 1 if the year is a leap and 0 if it’s not a leap year.

Example 4: Short Solution in Python 

Python




def checkYear(year):
    
    # Return true if year is a multiple
    # of 4 and not multiple of 100.
    # OR year is multiple of 400.
    import calendar
    return(calendar.isleap(year))
    
# Driver Code 
year = 2000
if (checkYear(year)):
    print("Leap Year")
else:
    print("Not a Leap Year")
        
# This code is contributed by Chin


Output:

Leap Year

Time Complexity : O(1)

Auxiliary Space: O(1)

Example 5: Short Solution in Java using isLeap() method of Year class

Java




//Java program to check whether the given year
// is a leap year or not
 
import java.io.*;
import java.time.Year;
 
class GFG {
     
    //returns true if the given year is a leap year.
    public static boolean checkYear(int year){
        Year y = Year.of(year); //create a Year object of given year
        return y.isLeap(); 
    }
     
    //Driver Code
    public static void main (String[] args) {
        int year = 2000; //sample input to test
        if(checkYear(year)){  //function call
            System.out.println("Leap Year");
        }else{
            System.out.println("Not a Leap Year");
        }
    }
}
 
//This code is contributed by shruti456rawal


Output:

Leap Year

Time Complexity : O(1)

Auxiliary Space: O(1)

Explanation:

Year class in java is an in-built class that is used to represent an year as a date-time immutable object. The idea is to invoke the isLeap() method of the class which returns true if the year is a leap year and vice-versa.

Below is the implementation of the above idea:


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!