Skip to content
Related Articles
Open in App
Not now

Related Articles

Program to check if a given year is leap year

Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 16 Feb, 2023
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
    // of 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
// Of 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 
    // of 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!