DATE1 - Tra cứu ngày 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, Python, Ruby, Rust, Scratch, Swift

Cho hai số nguyên ~n,y~. Hãy cho biết ngày thứ ~n~ của năm ~y~ là ngày nào. Biết rằng ngày mùng ~1~ tháng ~1~ tính là ngày thứ ~1~.

Input

  • Gồm hai số nguyên ~n,y~ ghi trên một dòng, cách nhau bởi một hoặc nhiều dấu cách.

Giới hạn:

  • Trong tất cả các test: ~1 \le n \le 365,1900 \le y \le 2050~

Output

  • Ghi trên một dòng hai số nguyên ~d, m~ theo thứ tự là ngày, tháng của năm ~y~.

Sample

Input #1
5 2016
Output #1
5 1
Input #2
34 2012
Output #2
3 2

Problem source: Chuyên Sơn La Online Judge


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 0
    gtmailong  đã bình luận lúc 28, Tháng 4, 2024, 3:56

    full

    #include <iostream>
    #include <cstring>
    
    using namespace std;
    
    bool checkYear(int year) 
    { 
    return (((year % 4 == 0) && (year % 100 != 0)) || 
            (year % 400 == 0)); 
    } 
    
    int main() {
        int n,y,i;
        cin >> n >> y;
        int a[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
        if (checkYear(y)) a[2] = 29;
        for (i = 1; i <= 12; i++){
            if (n > a[i]){
                n -= a[i];
            } else break;
        }
        cout << n << ' ' << i;
        return 0;
    }
    

  • -1
    hz001  đã bình luận lúc 23, Tháng 2, 2024, 4:30

    include <iostream>

    using namespace std;

    // Hàm kiểm tra năm nhuận bool isLeapYear(int year) { return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); }

    // Hàm tính ngày thứ n của năm y void nthDayOfYear(int n, int y) { const int daysInMonth[] = {31, isLeapYear(y) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

    int month = 0;
    while (n > daysInMonth[month]) {
        n -= daysInMonth[month];
        month++;
    }
    
    cout << n << " " << month + 1 << " "<< endl;
    

    }

    int main() { int n, y; cin >> n; cin >> y;

    nthDayOfYear(n, y);
    
    return 0;
    

    }


  • 2
    hohoanghai5042011  đã bình luận lúc 17, Tháng 1, 2024, 12:44

    #include <bits/stdc++.h>

    using namespace std; bool tuilathanh(int year) { if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { return true; } return false; }

    int main() { int n, y; cin >> n; cin >> y;

    int catdaunoisau[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; if (tuilathanh(y)) { catdaunoisau[1] = 29; }

    int day = 1; int month = 1;

    while (n > 1) { day++; if (day > catdaunoisau[month - 1]) { day = 1; month++; } n--; }

    cout << day << " " << month << endl;

    return 0; }


    • -5
      Nguyenminhphat311  đã bình luận lúc 18, Tháng 1, 2024, 6:05

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


      • -2
        hoangvanthong  đã bình luận lúc 1, Tháng 2, 2024, 15:09

        include <bits/stdc++.h>

        using namespace std;

        int main() { int n,y,thang=1; cin>>n>>y; int ngaytrongthang[]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; if(y%4==0 and y%100!=0){ ngaytrongthang[1]=29; } while(n>ngaytrongthang[thang-1]){ n=n-ngaytrongthang[thang-1]; thang++; } cout<<n<<" "<<thang; }


  • 0
    Nguyenminhphat311  đã bình luận lúc 17, Tháng 1, 2024, 7:33

    bài giải nha cả nhà 😜🤩🤩🤩🤑🤑🤑🤑

    n , y = map(int,input().split()) m = 1 if n > 31: n = n-31 m = m + 1 if y%4 == 0 or (y%100 == 0 and y% 400 == 0): if n > 29: n = n - 29 m = m+1 else: if n > 28: n = n-28 m = m + 1 if n > 31: n = n-31 m = m + 1 if n > 30: n = n-30 m = m + 1 if n > 31: n = n-31 m= m + 1 if n > 30: n = n - 30 m = m + 1 if n > 31: n = n - 31 m = m + 1 if n > 31: n = n-31 m = m + 1 if n > 30: n = n-30 m = m + 1 if n > 31: n = n-31 m = m + 1 if n > 30: n = n-30 m = m + 1 if n > 31: n = n-31 m = m + 1 print(n,'',m)


    • 3
      Nigger123  đã bình luận lúc 17, Tháng 1, 2024, 7:42

      Bài giải hay quá đọc bài mà thấm từng tế bào trong cơ thể tôi như rung lên vì những điều mà bài giải ấy truyền đạt . Đúng là cụ tổ IT , ông hoàng If - else , ông trùm vòng lặp kẻ hủy diệt bài khó ,..


      • 0
        dccnth  đã bình luận lúc 16, Tháng 4, 2024, 11:38

        người truyền cảm hứng code là đây =)))))


  • -2
    anhbongthayminhquadeptrai  đã bình luận lúc 6, Tháng 1, 2024, 3:23 sửa 2

    tại sao code này lại sai 1 test vậy ae ? https://ide.usaco.guide/NnRqOezUnwrbR7giKbn


  • -4
    Names_  đã bình luận lúc 21, Tháng 10, 2023, 7:25

    sai boolean kiem tra dieu kien la dc