Kiểm tra ngày hợp lệ


Submit solution

Points: 1
Time limit: 1.0s
Memory limit: 977M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Theo lịch Gregorius là lịch được dùng trên hầu khắp thế giới thì những năm nào chia hết cho 400 hoặc chia hết cho 4 mà không chia hết cho 100 được coi là năm nhuận (ví dụ năm 2100 không phải là năm nhuận, 2104 là năm nhuận). Trong năm nhuận, tháng 2 có 29 ngày thay cho 28 ngày.

Bạn hãy lập trình nhập vào ngày/tháng/năm kiểm tra xem có hợp lệ hay không?

enter image description here

Input

Ngày/Tháng/Năm là 3 số nguyên dương có hai dấu / ở giữa để ngăn cách

Output

Nếu hợp lệ xuất ra "Ngay hop le" ngược lại xuất ra "Ngay khong hop le"

Ví dụ 1.

Input

31/02/2018

Ouput

Ngay khong hop le

Ví dụ 2.

Input

33/15/2018

Ouput

Ngay khong hop le

Ví dụ 3.

Input

29/02/2000

Ouput

Ngay hop le
tichpx

Comments


  • 1
    Chi_CNTT5_K60  commented on Sept. 7, 2020, 2:12 a.m. edited
    #include<bits/stdc++.h>
    using namespace std;
    bool nhuan(int n){
        if (n%400==0) return true;
        else if (n%4==0 && n%100) return true;
        return false;
    }
    int main()
    {
        int d,M,Y;
        cin>>d;
        cin.ignore();
        cin>>M;
        cin.ignore();
        cin>>Y;
        if (Y>0){
        if ( M==1||M==3||M==5||M==7||M==8||M==10||M==12){
                if (d<1||d>31)
                    cout<<"Ngay khong hop le";
                else cout<<"Ngay hop le";
            }
        if (M==4||M==6||M==9||M==11){
                if (d<1||d>30)
                    cout<<"Ngay khong hop le";
                else cout<<"Ngay hop le";
            }
        if (M==2){
                if (nhuan(Y)==true){
                    if (d<1 || d>29)
                        cout<<"Ngay khong hop le";
                    else cout<<"Ngay hop le";
                }
                else {
                    if (d<1 || d>28)
                        cout<<"Ngay khong hop le";
                    else cout<<"Ngay hop le";
                }
            }
        if (M<1 || M>12)
            cout<<"Ngay khong hop le";
        }
        else cout<<"Ngay khong hop le";
    }