Trái đất của chúng ta cần ~365.25~ ngày để quay hết một vòng quanh mặt trời. Phần dư ~0.25~ thực ra đã làm tròn, con số thực tế là ~365.2425~ ngày để trái đất quay được một vòng. Giá trị sai số này ~0.0075~ ngày ~(0.25 - 0.2425)~ khi nhân với ~400~ chúng ta sẽ có thêm ~3~ ngày nữa. Do đó, để lịch của ta chính xác, các chu kỳ ~100, 200~ và ~300~ chỉ có ~24~ năm nhuận thay vì ~25~. Riêng chu kỳ thứ ~400~ sẽ có ~25~ năm nhuận. Điều đó đảm bảo rằng mỗi chu kỳ ~400~ năm sẽ có ~97 (24 + 24 + 24 + 25)~ năm nhuận. Như vậy, cứ ~400~ năm chúng ta sẽ có ~97~ năm nhuận, chứ không phải ~100~ nhé.
Hãy viết chương trình kiểm tra giá trị nguyên ~year~ nhập từ bàn phím có phải là năm nhuận không (theo dương lịch).
Lưu ý: Giá trị năm ~(year)~ được coi là hợp lệ nếu: ~ 0 < year <= 100000 ~. Bộ test của đề bài sẽ có thể nằm ngoài giới hạn hợp lệ này, hãy chú ý kiểm tra kỹ nhé.
Input
Một số nguyên ~year~ là giá trị cần kiểm tra
Output
- Nếu ~year~ là năm nhuận, in ra
YES
- Nếu ~year~ là năm không nhuận, in ra
NO
- Nếu giá trị ~year~ không hợp lệ, in ra
INVALID
Sample
Input #1
2020
Output #1
YES
Giới hạn
- Toàn bộ các testcase có ~-10^6 \le year \le 10^6~
Bình luận
Lưu ý (year <= 0 || year >= 100000) ? "INVALID" "Phải có = 0 thì mới qua được case 4"
include <iostream>
using namespace std;
int main() { long long year; cin >> year; // Nhập năm
}
ai giup minh test 4 voi
ai giải mik với . mik ko bik làm
ae nhớ xét nó % 400 == 0 trước ròi ms n % 4 == 0 sau r xét trường hợp hợp lệ nhé chúc may mắn
case 5 là sai chỗ nào ạ
thêm điều kiện 0<n<100000 vào là đc nhé ae nào bị lỗi case 5 thì để ý