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

View as PDF

Submit solution

Points: 1.00 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
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

Comments

Please read the guidelines before commenting.



  • 0
    mduyiuems1tg  commented on May 2, 2025, 2:21 p.m.

    CODE KHAM KHAO

    #include <bits/stdc++.h>
    #define ll long long
    #define DOWNTIME ios_base::sync_with_stdio(false);cin.tie(NULL); cout.tie(NULL); 
    
    using namespace std;
    
    const int mx = 1e6 + 1; 
    
    int day[12] = {31, -1, 31, 30, 31, 30, 31, 30, 30, 31, 30, 31};
    
    bool isleapyear(int year) {
        if ((year % 4 == 0 && year % 100) || !year % 400) return true;
        return false;
    }
    
    int main(){
       //freopen("input.txt","r", stdin);
       //freopen("output.txt", "w", stdout);
        DOWNTIME
        int month, year; cin >> month >> year;
    
        if (month < 13) {
            if (month == 2) {
                if (isleapyear(year)) cout << 29;
                else cout << 28;
            }
            else cout << day[month - 1];
        }
        else cout << "INVALID";
    
        return 0;
    }
    

  • 1
    imjust4funs  commented on March 1, 2025, 3:11 p.m.

    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!


  • -1
    super_god  commented on Oct. 8, 2024, 2:39 a.m.

    hello ae


  • -11
    bnbnbn  commented on Dec. 16, 2024, 3:28 a.m.

    This comment is hidden due to too much negative feedback. Show it anyway.


  • 1
    phinguyen18  commented on May 31, 2024, 3:00 p.m.

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


  • 0
    phan_phat_dat  commented on Feb. 11, 2024, 2:38 p.m.

    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  commented on Jan. 25, 2024, 3:54 p.m.

    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;
    

    }


  • 0
    minh2312130  commented on Jan. 19, 2024, 12:41 p.m.

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


    • 0
      luckycat10000  commented on March 11, 2024, 4:56 p.m.

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


  • 0
    Vjt_con_ngoc_ngheck  commented on Jan. 18, 2024, 2:59 p.m.

    test case 4 là j v m.n


  • 0
    opanime999  commented on Dec. 18, 2023, 2:57 p.m.

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


  • 1
    khiemkrkt  commented on Dec. 4, 2023, 2:10 a.m.

    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


  • 0
    trh2kngoc578  commented on Oct. 29, 2023, 12:37 p.m.

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


    • 0
      phamthemanh72  commented on Dec. 3, 2023, 4:16 p.m. edited

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


  • 3
    taithikgirl  commented on Oct. 28, 2023, 2:30 a.m.

    hao no


  • 0
    Names_  commented on Oct. 17, 2023, 7:56 a.m. edited

    sai case là được


  • 1
    lch101  commented on Aug. 28, 2023, 12:32 p.m.

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


    • 0
      Jaker  commented on Aug. 29, 2023, 3:40 a.m.

      omg thanks