Đề bài
Một năm chia hết cho 4 là năm nhuận, trừ khi nó cũng chia hết cho 100. Tuy nhiên, các năm chia hết cho 400 vẫn được coi là năm nhuận bất chấp ngoại lệ đó. Áp dụng quy tắc số học này cho mọi giá trị năm hợp lệ.
Cài đặt hàm leap_year(year).
Đầu vào
year: Năm cần kiểm tra.
Đầu ra
Trả về true nếu là năm nhuận, ngược lại trả về false.
Ràng buộc
1 ≤ year ≤ 9999.
Ví dụ
Đầu vào:
year = 2024
Kết quả mong đợi:
expected = True
Đầu vào:
long long year = 2024;
Kết quả mong đợi:
bool expected = true;
Đầu vào:
long year = 2024;
Kết quả mong đợi:
bool expected = true;
Giải thích
2024 chia hết cho 4 và không chia hết cho 100.
Đầu vào:
year = 2100
Kết quả mong đợi:
expected = False
Đầu vào:
long long year = 2100;
Kết quả mong đợi:
bool expected = false;
Đầu vào:
long year = 2100;
Kết quả mong đợi:
bool expected = false;
Giải thích
2100 chia hết cho 100 nhưng không chia hết cho 400, nên áp dụng ngoại lệ cho năm tròn thế kỷ.
Hướng tiếp cận
Hãy tự thử trước, sau đó mở từng gợi ý một.
Gợi ý 1
Phần lớn các năm theo quy tắc chia hết cho 4, nhưng các năm tròn thế kỷ là ngoại lệ.
Gợi ý 2
Năm chia hết cho 400 vẫn là năm nhuận, dù nó cũng chia hết cho 100.
Gợi ý 3
Hãy kiểm tra ngoại lệ trước khi loại bỏ các năm thế kỷ, nếu không bạn có thể phân loại sai như năm 2000.
Độ phức tạp mong đợi
thời gian O(1), bộ nhớ phụ O(1)
Tham khảo
Thử thách này đã được điều chỉnh cho CodeUtility. Hãy làm theo đề bài và các ràng buộc ở trên.