Open in App
Not now

# Program to check if a given year is leap year

• Difficulty Level : Easy
• Last Updated : 16 Feb, 2023

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.

Recommended Practice

## C++

 `// C++ program to check if a given  ` `// year is leap year or not  ` `#include ` `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 ` `#include ` ` `  `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

 ` `

## Javascript

 ` `

Output:

`Leap Year`

Time Complexity : O(1)

Auxiliary Space: O(1)

## C++

 `// One line C program to check if a  ` `// given year is leap year or not ` `#include ` `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 ` `#include ` ` `  `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

 ` `

## Javascript

 ` `

Output:

`Leap Year`

Time Complexity: O(1)

Auxiliary Space: O(1)

## C++

 `// C++ implementation to check  ` `// if the year is a leap year  ` `// using macros ` ` `  `#include ` `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

 ` `

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.

## 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)

## 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