Hiện thứ của một ngày bất kì nào đó c++ năm 2024
Nếu tôi chọn ra một ngày bất kỳ trong quá khứ hoặc tương lại, cho bạn biết ngày, tháng, năm của hôm đó thì bạn có thể nhanh chóng tính ra xem ngày hôm đó là thứ mấy được không? Có thể bạn cho rằng phải tìm trong lịch vạn niên, nhưng nếu dùng lịch vạn niên thì không thể gọi là tính nhanh nữa rồi. Chúng tôi sẽ cung cấp cho bạn một công thức tính nhanh mà không cần phải dùng tới lịch vạn niên. S = X + [(X-1)/4] – [(X-1)/100] + [(X-1)/400] + C Trong công thức này, X là số năm theo dương lịch, ví dụ năm 2004, năm 2005; C là số ngày tính từ ngày đầu tiên của năm đó tới ngày hôm đó (bao gồm cả ngày hôm đó). Phép chia trong ba dấu móc phải lấy kết quả chẵn tức là nếu chia ra có phần dư thì chúng ta sẽ bỏ qua mà chỉ lấy phần chẵn, ví dụ 501,5 thì lấy chẵn là 501. Sau khi có được kết quả S, lấy S chia cho 7, số dư của kết quả tìm được chính là thứ mấy mà chúng ta cần tìm, nếu dư 1 thì là chủ nhật, dư 2 là thứ 2,….. dư 7 là thứ 7. Công thức này cũng khá đơn giản, dưới đây chúng ta thử tính xem ngày 1 tháng 6 năm 2000 là thứ mấy nhé? Theo công thức trên chúng ta cùng tính giá trị S: S = 2000+[(2000-1)/4]-[(2000-1)/100]+[(2000-1)/400]+153 \= 2000 + 499 – 19 + 4 + 153 \= 2637 S¸:7 = 2637:¸7 = 376 dư ra 5 Vì thế ngày mùng 1 tháng 6 năm 2000 là ngày thứ 5. Các bạn thấy chưa, tính như vậy rất là đơn giản phải không! Nhưng khi tính chúng ta phải lưu ý tới năm nhuận, ví dụ năm 2000 là năm nhuận, tháng 2 của năm nhuận có 29 ngày chứ không phải là 28 ngày như năm thường, vì thế khi tính toán chúng ta không được quên điều này. Bây giờ bạn có thể theo công thức nói trên tính xem ngày sinh nhật của bạn là thứ mấy nhé!
Điều hướng bài viếtĐề bài: Viết chương trình C/C++ nhập vào ngày, tháng, năm. Kiểm tra ngày và tháng nhập có hợp lệ hay không. Tính thứ trong tuần của ngày đó. Yêu cầu kiến thức:
Lưu ý:
Code tham khảo dưới được lưu với phần mở rộng là “.cpp”:
Kết luận:
Các thẻ: lap trinhlập trình C/C++ Có thể bạn sẽ thích… |