DK10 - Tìm số ngày của tháng

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

Thử thách lần này của bạn là xác định số ngày của một tháng (theo dương lịch). Bạn sẽ được cung cấp 2 giá trị nguyên dương là tháng (~ month ~) và năm (~ year ~) cần kiểm tra.

Thời gian được cho là hợp lệ nếu:

  • ~ 1 \le month \le 12 ~
  • ~ year > 0~

Bạn cần lưu ý là giới hạn của bộ test sẽ nằm ngoài giới hạn hợp lệ, hãy kiểm tra các trường hợp không hợp lệ thật kỹ nhé.

Input

Lần lượt là 2 giá trị nguyên dương ~ month ~ và ~ year ~

Giới hạn:

  • ~ 0 < month \le 100 ~
  • ~ -10^5 < year \le 10^5 ~

Output

  • Nếu thời gian nhập vào không hợp lệ, xuất ra INVALID
  • Trường hợp khác, in ra số ngày của thời gian được yêu cầu

Sample

Input #1
10 2020
Output #1
31
Input #2
14 2020
Output #2
INVALID
Input #3
2 2020
Output #3
29

Bình luận

Please read the guidelines before commenting.



  • 0
    ronaldolecatvu  đã bình luận lúc 21, Tháng 5, 2026, 12:43

    đói ai hẻo


  • 0
    ronaldolecatvu  đã bình luận lúc 21, Tháng 5, 2026, 12:43

    ai hỏi


  • 0
    hoangbach8088  đã bình luận lúc 3, Tháng 4, 2026, 7:40

    c


  • 0
    Kenz  đã bình luận lúc 29, Tháng 3, 2026, 14:51 chỉnh sửa

    JAVA if (m < 1 || m > 12 || y <= 0 || y > 100000) { System.out.println("INVALID"); } else { if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) { System.out.println("31"); } else { if (m == 2) { if (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0)) { System.out.println("29"); } else { System.out.println("28"); }

        } else {
            System.out.println("30");
        }
    }
    

    }


  • 0
    nguyenbeodeptrai  đã bình luận lúc 25, Tháng 3, 2026, 10:47

    diệp ngu


  • 0
    thanhvinh21052015  đã bình luận lúc 16, Tháng 3, 2026, 13:58

    Các bạn nào làm chú ý đọc đề là có 366 ngày ( năm nhuận ) nhé


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

    tralalerotralala


  • 0
    khang1508  đã bình luận lúc 17, Tháng 12, 2025, 12:48

    full AC def main(): thang, nam = map(int, input().split())

    Kiểm tra tháng hợp lệ

    if thang < 1 or thang > 12 or nam <= 0: print("INVALID") else: # Kiểm tra năm nhuận nhuan = (nam % 400 == 0) or (nam % 4 == 0 and nam % 100 != 0)

    if thang == 2:
        if nhuan:
            print(29)
        else:
            print(28)
    elif thang in [1, 3, 5, 7, 8, 10, 12]:
        print(31)
    else:
        print(30)
    

    main()


  • 1
    phamtantrihungvuong  đã bình luận lúc 15, Tháng 11, 2025, 8:33 sửa 2

    }


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

    include <bits/stdc++.h>

    using namespace std;

    bool Nhuan(int nam) { return (nam % 400 == 0) || (nam % 4 == 0 && nam % 100 != 0); }

    void Ngay(int thang, int nam) { if (thang == 1 || thang == 3 || thang == 5 || thang == 7 || thang == 8 || thang == 10 || thang == 12) cout << "31"; else if (thang == 2) { if (Nhuan(nam)) cout << "29"; else cout << "28"; } else cout << "30"; }

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

    if( thang >= 1 && thang <= 12 && nam > 0 && nam < 1000000){
        Ngay(thang,nam);    
    }
    else 
        cout << "INVALID";
    

    }


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

    cg


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

    d


  • -3
    vanphong  đã bình luận lúc 21, Tháng 10, 2025, 11:24

    sicalố sicalồ


  • 0
    tdnm21092013  đã bình luận lúc 23, Tháng 8, 2025, 10:01

    hell nah


  • 1
    tranhainam130311  đã bình luận lúc 16, Tháng 7, 2025, 4:27

    oh nah


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

    Lưu ý cho người mới:Tháng 2 với những năm tròn thế kỉ như là 1900,2000,2100,.. thì ta lấy 2 số đầu chia cho 4, nếu chia hết thì đó là năm nhuận; Còn với những năm bình thường thì chỉ cần năm chia hết cho 4 sẽ là năm nhuận. Mình mong lời bình luận mình sẽ giúp cho các bạn!


  • -5
    super_god  đã bình luận lúc 8, Tháng 10, 2024, 2:39

    Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.


  • 0
    phinguyen18  đã bình luận lúc 31, Tháng 5, 2024, 15:00

    cứu test 2 với các sư huynh ơi


  • 0
    phan_phat_dat  đã bình luận lúc 11, Tháng 2, 2024, 14:38

    cho mình hỏi làm sao để gắn code của mình lên bình luận vậy ạ (mình gắn vào mà nó không hiện khung như mấy bài khác)


  • 1
    hieucode  đã bình luận lúc 25, Tháng 1, 2024, 15:54

    C ++ ( BÍ HÃY THAM KHẢO )

    int n, m;

    cin >> n >> m;
    if (( n > 0 && n <= 12) && ( m > 0 && m <= 100000) ){
     if ((m % 400 == 0 || m % 4 == 0) && (m % 100 != 0)){
        if ( n == 2){
            cout << "29";
         }
     }
     else 
         cout << "28";
     if( n == 1 || n == 3 || n == 5 || n == 7 || n == 8 || n == 10 || n == 12)
        cout << "31"; 
     else if ( n == 4 || n == 6 || n == 9 || n == 11 )
        cout << "30";
    }
    else 
    cout << "INVALID";
    return 0;
    

    }


  • 1
    minh2312130  đã bình luận lúc 19, Tháng 1, 2024, 12:41

    testcase 5 là gì vậy mọi người


    • 1
      luckycat10000  đã bình luận lúc 11, Tháng 3, 2024, 16:56

      là bạn chưa gán điều kiện 1<=month<=12 nhé


  • 0
    Vjt_con_ngoc_ngheck  đã bình luận lúc 18, Tháng 1, 2024, 14:59

    test case 4 là j v m.n


  • 0
    opanime999  đã bình luận lúc 18, Tháng 12, 2023, 14:57

    test case 2 là gì mọi người


  • 6
    khiemkrkt  đã bình luận lúc 4, Tháng 12, 2023, 2:10

    Một cách khác gọn hơn mà ko phải xét từng tháng:

    Đối với tháng ~2~, ta kiểm tra riêng biệt

    Đối với các tháng từ ~1~ đến ~7~, nếu tháng là số lẻ thì là ~31~ ngày, còn không thì ~30~ ngày

    Đối với các tháng từ ~8~ đến ~12~, nếu tháng là số lẻ thì là ~30~ ngày, còn không thì ~31~ ngày


  • 1
    trh2kngoc578  đã bình luận lúc 29, Tháng 10, 2023, 12:37

    test case 4:Unexpected EOF in the participant's output thì mình sửa sao ạ?


    • 1
      phamthemanh72  đã bình luận lúc 3, Tháng 12, 2023, 16:16 chỉnh sửa

      bác coi là phần điều kiện của tháng và năm thử


  • 6
    taithikgirl  đã bình luận lúc 28, Tháng 10, 2023, 2:30

    hao no


  • 4
    lch101  đã bình luận lúc 28, Tháng 8, 2023, 12:32

    :v bài này mọi người chú ý có năm nhuận nha


    • 1
      Jaker  đã bình luận lúc 29, Tháng 8, 2023, 3:40

      omg thanks