Leap Year Checker
Problem Description
Determine if a year is a leap year.
Expected Output
LEAP YEAR or NOT A LEAP YEAR
Hints
Leap year: divisible by 4, but not 100 unless also 400.
Solution
IDENTIFICATION DIVISION.
PROGRAM-ID. LEAPYEAR.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-YEAR PIC 9(4).
01 WS-REM4 PIC 9(4).
01 WS-REM100 PIC 9(4).
01 WS-REM400 PIC 9(4).
01 WS-TEMP PIC 9(4).
PROCEDURE DIVISION.
DISPLAY "ENTER YEAR: ".
ACCEPT WS-YEAR.
DIVIDE WS-YEAR BY 4 GIVING WS-TEMP REMAINDER WS-REM4.
DIVIDE WS-YEAR BY 100 GIVING WS-TEMP REMAINDER WS-REM100.
DIVIDE WS-YEAR BY 400 GIVING WS-TEMP REMAINDER WS-REM400.
IF WS-REM400 = 0
DISPLAY WS-YEAR " IS A LEAP YEAR"
ELSE IF WS-REM100 = 0
DISPLAY WS-YEAR " IS NOT A LEAP YEAR"
ELSE IF WS-REM4 = 0
DISPLAY WS-YEAR " IS A LEAP YEAR"
ELSE
DISPLAY WS-YEAR " IS NOT A LEAP YEAR"
END-IF.
STOP RUN.
Explanation:
Leap year if divisible by 400, OR (divisible by 4 AND not by 100).