Giờ đây bạn hoàn toàn tự tin: mình có thể tính toán một ngày bất kỳ trong năm mà không cần xem lịch khi áp dụng thuần thục Thuật toán Doomsday theo bài viết dưới đây.
Lý thuyết Thuật toán Doomsday
Vào những năm 1970, Thuật toán Doomsday được tiến sĩ John Horton Conway, một nhà toán học nổi tiếng phát minh và hướng dẫn cách sử dụng vào thực tế. Thuật toán Doomsday của tiến sĩ John Horton Conway với khả năng vận dụng và dễ nhớ vượt trội hơn các phương pháp tính tương tự.
Doomsday của một năm là như thế nào?
Mọi thuật toán tính thứ của một ngày đều phải biết được thứ của một ngày nào đó trong năm. Từ đó suy ra thứ những ngày còn lại trong tuần.
Trước tiên, bạn cần biết về khái niệm về thuật toán Doomsday. Doomsday của một năm là ngày cuối cùng của tháng Hai, tức là ngày 28/2 năm thường và 29/2 năm nhuận. Ví dụ: Doomsday của năm 2004 (năm nhuận) là Chủ nhật 29/2.
Cách tính thứ các ngày trong tháng 2 trong năm
Khi nắm được về Doomsday, bạn nhanh chóng tính được thứ của các ngày khác trong tháng hai bằng cách lấy Doomsday làm mốc và tính ngược lại từng tuần. Chẳng hạn như, để biết ngày 14/2/2004 là thứ mấy, bạn làm như sau: 29-7=22, 22-7=15, ngày 22/2 và 15/2 đều là Chủ nhật, như vậy 14/2 là thứ Bảy.
Cách tính thứ các ngày khác tháng 2
Trước khi bắt đầu tính toán, bạn chia làm 2 loại:
a. Cách tính tháng chẵn
Cách tính đối với những tháng chẵn: các tháng 4, 6, 8, 10, 12.
Đối với các tháng chẵn này, các ngày sau sẽ có thứ trùng với Doomsday: 4/4, 6/6, 8/8, 10/10, 12/12. Rất dễ nhớ đúng không nào!
Trong năm 2004, các ngày trên đều là Chủ nhật (trùng với thứ của ngày 29/2). Áp dụng cách tính giống tháng Hai, bạn sẽ tính được thứ của bất cứ ngày nào trong các tháng chẵn.
b. Cách tính tháng lẻ
Trước hết chúng ta xét các tháng 5, 7, 9, 11. Các ngày 9/5, 5/9, 11/7, 7/11 sẽ có thứ trùng với Doomsday. Cũng rất dễ nhớ phải không!
Còn với tháng 3? Doomsday (28/2 hoặc 29/2) có thể coi là ngày 0/3. Vì vậy ngày 7/3 sẽ có thứ trùng với Doomsday.
Tháng 1 thì hơi đặc biệt
- Với năm thường, ngày 31/1 sẽ có thứ trùng với Doomsday (28 ngày sau ngày 31/1 là ngày 28/2 chính là Doomsday).
– Với năm nhuận, Doomsday là ngày 29/2 nên ngày 1/2 (coi như là ngày 32/1) có thứ trùng với Doomsday, do vậy, ngày 31/1 có thứ trước Doomsday một ngày.
2. Tính thứ khi biết ngày tháng năm theo công thức dân gian
Với công thức này, bạn cần có trí nhớ tốt để nhớ dãy số sau: 255 – 136 – 140 – 250
Đây là dãy số ứng với mỗi tháng từ tháng 1 đến tháng 12. Với công thức này, ta lấy năm mốc là năm có số cuối cùng là 0 (ví dụ 2020)
Công thức tính: Lấy số ngày + số tháng tương ứng theo dãy số trên + 1 rồi tất cả chia cho 7.
Nếu chia hết sẽ là thứ 7, dư 1 là chủ nhật
Nếu dư 2 là thứ 2
Nếu dư 3 là thứ 3
Nếu dư 6 là thứ 6
Tương tự như vậy, nếu
Số cuối cùng của năm là 1 thì lấy số ngày + số tháng tương ứng theo dãy số trên + 2
Số cuối cùng của năm là 2 thì lấy số ngày + số tháng tương ứng theo dãy số trên + 3
3. Công thức khác trong năm
Ngoài những cách trên, ta còn có cách khác. Tuy nhiên, cách này thường không phổ biến lắm.
Công thức: n = (ngày+2*tháng +(3*(tháng+1)) div 5 + năm + (năm div 4)) mod 7
Nếu
n = 0 → Chủ Nhật
n = 1 → Thứ 2
n = 2 → Thứ 3
…
Trong đó, div là phép chia lấy số nguyên và mod là phép chia lấy số dư.