# Program to check if a given year is leap year

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

1. Year is multiple of 400.
2. Year is multiple of 4 and not multiple of 100. Following is pseudo-code

```if year is divisible by 400 then is_leap_year
else if year is divisible by 100 then not_leap_year
else if year is divisible by 4 then is_leap_year
else not_leap_year
```

## 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 muliplt of 100, ` `    ``// then it is not a leap year ` `    ``if` `(year % 100 == 0) ` `        ``return` `false``; `   `    ``// Else If a year is muliplt 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 muliplt of 100,` `    ``// then it is not a leap year` `    ``if` `(year % 100 == 0)` `        ``return` `false``;`   `    ``// Else If a year is muliplt 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 muliplt of 100,` `        ``// then it is not a leap year` `        ``if` `(year % ``100` `== ``0``)` `            ``return` `false``;` `    `  `        ``// Else If a year is muliplt 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 muliplt of 100,` `        ``// then it is not a leap year` `        ``if` `(year % 100 == 0)` `            ``return` `false``;` `    `  `        ``// Else If a year is muliplt 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

 ``

Output:

```Leap Year
```

How to write the above code in one line?

## 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` `    ``// 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 ` `#include `   `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

 ``

Output:

```Leap Year
```

Check Leap Year using Macros in C/C++

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

## 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;` `}`

Output

```1
```

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

My Personal Notes arrow_drop_up

Article Tags :
Practice Tags :

11

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.