Drill

ProblemsC++ › dates

Is it a leap year

easydatesMathC++

A billing schedule needs to know whether February has 29 days.

isLeapYear(year: int) → bool

C++ needs a compiler and Drill does not host one yet, so this page is the reference rather than an exercise: the problem, worked examples, and the solution in full. To type it out, the same problem runs in Python.

Solve it in Python →

Where you start

bool isLeapYear(int year) {
    
}

Worked examples

CallResult
isLeapYear(2024)true
isLeapYear(2023)false
isLeapYear(1900)false
isLeapYear(2000)true

Hint

The 400 rule wins over the 100 rule, which wins over the 4 rule. Order the checks accordingly.

Reference solution in C++
bool isLeapYear(int year) {
    if (year < 1) return false;
    if (year % 400 == 0) return true;
    if (year % 100 == 0) return false;
    return year % 4 == 0;
}

The same problem in another language

More dates problems in C++