DK09 - Kiểm tra năm nhuận

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift

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

Please read the guidelines before commenting.



  • 2
    nguyenthanhvinhdaknong2015  đã bình luận lúc 1, Tháng 3, 2026, 8:04

    n=int(input()) if n<=0 or n>100000: print("INVALID") else: if n%400==0 or (n%4==0 and n%100!=0): print("YES") else: print("NO")


  • 2
    nguyenthanhvinhdaknong2015  đã bình luận lúc 1, Tháng 3, 2026, 8:04

    n=int(input()) if n<=0 or n>100000: print("INVALID") else: if n%400==0 or (n%4==0 and n%100!=0): print("YES") else: print("NO")


  • 0
    1239876  đã bình luận lúc 24, Tháng 1, 2026, 6:00

    m.dũng yêu thúy bẩn


  • 0
    tranvu281214  đã bình luận lúc 6, Tháng 1, 2026, 11:07

    Test case #1: AC [0,002s, 3,38 MB] (1/1) Test case #2: AC [0,002s, 3,38 MB] (1/1) Test case #3: AC [0,002s, 3,38 MB] (1/1) Test case #4: AC [0,002s, 3,38 MB] (1/1) Test case #5: AC [0,002s, 3,38 MB] (1/1)


  • 2
    lephuochauhungvuong  đã bình luận lúc 15, Tháng 11, 2025, 7:46
    /*#include<bits/stdc++.h>
    using namespace std;
    int year ;
    int main ()
    {
        cin >> year;
        if(0<year<=100000)
        {
            if ((year % 4 ==0) || (year % 400 ==0) && (year % 100 !=0))cout << "YES";
        else cout << "NO";
        }
        else cout << "INVALID";
        return 0;
    }*/
    #include<bits/stdc++.h>
    using namespace std;
    int main(){
        int n; cin >> n;
        if(n>0 && n<=100000){
            if((n%400==0 || n%4==0) && (n%100!=0)) cout << "YES";
            else cout << "NO";
        }
        else{
            cout << "INVALID";
        }
        return 0;
    }
    

  • 1
    tuanhiep2602  đã bình luận lúc 14, Tháng 11, 2025, 9:25

    n=int(input("Nhập số năm : ")) if 0<n<=100000 : if n%400==0 : print("Là năm nhuận") if n%4==0 and n%100!=0 : print("Là năm nhuận") else : print("Là năm không nhuận") else : print("Không hợp lệ !")


  • 1
    mitgsut2007  đã bình luận lúc 5, Tháng 11, 2025, 15:17

    : ) De Cx Bip Qa AD oi :))


  • 1
    ThanhPhan_UTC  đã bình luận lúc 29, Tháng 10, 2025, 19:15

    include <bits/stdc++.h>

    using namespace std;

    int main(){ int nam; cin >> nam;

    if( nam > 0 && nam <= 100000){
        if(nam % 400 == 0)
            cout << "YES";
        else if(nam % 4 == 0 && nam % 100 != 0)
            cout << "YES";
        else
            cout << "NO";
    }else
        cout << "INVALID";
    

    }


  • 0
    nguyendongdangkhoa  đã bình luận lúc 21, Tháng 10, 2025, 11:04 chỉnh sửa

    phong Đz 1123455678901234567891234567


  • 0
    nguyendongdangkhoa  đã bình luận lúc 21, Tháng 10, 2025, 10:51 chỉnh sửa

    nhầm


  • -4
    vankhanhnam  đã bình luận lúc 21, Tháng 10, 2025, 10:51 chỉnh sửa

    phong đz


  • 0
    dochanphong  đã bình luận lúc 21, Tháng 10, 2025, 10:50 chỉnh sửa

    bai kho


  • 0
    thaibaolehoang2014  đã bình luận lúc 21, Tháng 10, 2025, 10:31

    khe khe


  • 1
    NguyenCongDat  đã bình luận lúc 27, Tháng 2, 2025, 0:43

    ai giup minh test 4 voi


  • 2
    vudinhdo1234  đã bình luận lúc 23, Tháng 11, 2024, 16:31

    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


  • 1
    sapphire345  đã bình luận lúc 23, Tháng 11, 2024, 7:44 chỉnh sửa

    case 5 là sai chỗ nào ạ


    • 2
      0339955844  đã bình luận lúc 23, Tháng 1, 2025, 8:23

      thêm điều kiện 0<n<100000 vào là đc nhé ae nào bị lỗi case 5 thì để ý