Leap Year
Programming Basics · Java
TASK
Problem
Read a year. Print `YES` if it is a leap year in the Gregorian calendar, otherwise print `NO`.
EXAMPLE
Example
2024
YES
LIMITS
Constraints
1 ≤ year ≤ 9999
LEARN
Theory for this problem
+
The core idea of **Leap Year** is to model the requested operation directly: Read a year. Print `YES` if it is a leap year in the Gregorian calendar, otherwise print `NO`. The reference solution uses `Scanner` for input. Keep only the state needed for this result, choose numeric types that cover the stated bounds, and preserve the exact input/output contract. This makes the solution easier to verify on boundary cases and avoids unrelated work.
NEED HELP?
Hints
+
['Follow the statement for **Leap Year** literally and identify the smallest state needed to produce its output.', 'The reference solution relies on `Scanner` for input; test the smallest allowed input and one boundary case from the constraints.']
ANSWER
Solution
+
// CodeMaster — Leap Year
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int year = sc.nextInt();
boolean leap = year % 400 == 0 || (year % 4 == 0 && year % 100 != 0);
System.out.println(leap ? "YES" : "NO");
}
}