SlideShare una empresa de Scribd logo
1 de 3
Descargar para leer sin conexión
Thuật toán Doomsday
Giới thiệu:
Để biết một ngày nào đó trong năm là thứ mấy thì bạn làm thế nào? Có lẽ bạn sẽ cần một quyển lịch để
dò tìm. Tuy nhiên, không cần đến lịch, tôi vẫn có thể tính được thứ của bất kỳ ngày nào trong bất cứ năm
nào. Bạn có nghĩ tôi “xạo” không? Bạn hãy theo dõi cách tính thứ của một ngày bất kỳ theo phương pháp
của tiến sĩ John Horton Conway (1), một nhà toán học nổi tiếng, rồi bạn sẽ thấy những gì tôi nói ở trên là
không sai. Cách tính này do tiến sĩ Conway phát minh vào những năm 1970, được coi là phương pháp đơn
giản và dễ nhớ nhất so với các cách tính thứ khác (2).
Doomsday của một năm là gì?:
Trước tiên, bạn cần biết về khái niệm 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 (3). Ví dụ như Doomsday của năm 2004 (năm
nhuận) là chủ nhật 29/2.
Khi biết được Doomsday, bạn sẽ 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 đối với những tháng chẵn:
Bạn đã tính được thứ của các ngày trong tháng hai, còn những tháng khác thì sao? Trước tiên, chúng ta
nói về 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. Thật dễ nhớ phải không bạn? 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.
Cách tính đối với những tháng lẻ:
Đối với những tháng lẻ thì tính như thế nào? Cách tính cũng tương tự như trên, tuy nhiên chúng ta cần
nhớ một ngày trong tháng có thứ trùng với Doomsday. 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òn tháng ba thì sao? 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.
Có một cách giúp bạn nhớ các ngày trên của các tháng lẻ (trừ tháng 1). Đối với những tháng 3, 5, 7 là
những tháng dài (31 ngày), bạn lấy tháng đó cộng thêm 4 sẽ ra ngày cần nhớ (tháng 3: 3+4=7 => ngày
7/3; tháng 5: 5+4=9 => ngày 9/5; tháng 7: 7+4=11 => ngày 11/7), Đối với những tháng 9, 11 là những
tháng ngắn (30 ngày), bạn lấy tháng đó trừ đi 4 sẽ ra ngày cần nhớ (tháng 9: 9-4=5 => ngày 5/9; tháng
11: 11-4=7 => ngày 7/11).
Tháng một 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. Bạn cần chú
ý điểm đặc biệt này để tính cho chính xác.
Sau khi đọc cách tính trong tháng một của tiến sĩ Conway, một độc giả tên Bob Goddard đã đề nghị một
ngày khác dễ nhớ hơn đối với tháng một. Đó là ngày 3/1 trong năm thường và ngày 4/1 trong năm
nhuận. Các ngày này có thứ trùng với Doomsday. Để dễ nhớ, ta liên tưởng số 3 là 3 năm thường trong chu
kỳ 4 năm sẽ có năm nhuận, còn số 4 gợi ý đến năm nhuận vì năm nhuận chia hết cho 4.
Doomsday của các năm trong thế kỷ 20:
Muốn tính thứ của bất kỳ ngày nào trong một năm, bạn cần biết Doomsday của năm đó. Doomsday của
năm 2004 là chủ nhật 29/2, vậy Doomsday của năm 2003 là thứ mấy? Xin trả lời bạn là thứ sáu. Bởi vì
năm 2004 là năm nhuận có 366 ngày, 366 chia 7 dư 2, vì vậy Doomsday của năm 2003 có thứ trước
Doomsday của năm 2004 hai ngày nên là thứ sáu. Tương tự, Doomsday của năm 2002 là thứ năm vì năm
2003 có 365 ngày, 365 chia 7 dư 1. Như vậy, để tính Doomsday của một năm trước năm thường, bạn lùi 1
ngày, để tính Doomsday của một năm trước năm nhuận, bạn lùi 2 ngày. (Bạn lưu ý là năm nhuận dư ra 1
ngày thì ngày này ảnh hưởng đến năm trước đó chứ không phải năm sau nó vì Doomsday của năm nhuận
là ngày 29/2 chứ không phải 28/2). Áp dụng cách này, biết Doomsday của một năm nào đó, ta tính được
Doomsday của những năm khác.
Bảng bên là Doomsday của những năm trong thế kỷ 20 (năm in đậm là năm nhuận). Phần lớn chúng ta
sinh ra và sống trong thế kỷ 20 nên có lẽ bảng này sẽ được dùng nhiều. Tuy nhiên, thật khó để nhớ được
mọi chi tiết trong bảng. Nhưng có một cách tính khác giúp bạn biết được Doomsday của từng năm trong
thế kỷ 20.
Trước hết bạn cần ghi nhớ Doomsday của năm 1900 là thứ tư. Cứ 4 năm thì có một năm nhuận, vì vậy
Doomsday mỗi 4 năm cách nhau 5 ngày. Tương tự, Doomsday mỗi 8 năm cách nhau 10 ngày, hay là 3
ngày (10 chia 7 dư 3), Doomsday mỗi 12 năm cách nhau 15 ngày, hay là 1 ngày. Ta sẽ ghi nhớ chu kỳ 12
năm này (tiện lợi vì con số chênh lệch chỉ là 1 ngày) để tính nhanh Doomsday của một năm. Chẳng hạn
như ta tính được Doomsday của năm 1914 là thứ bảy, bởi vì Doomsday của năm 1900 là thứ tư nên
Doomsday của năm 1912 (12 năm sau) là thứ năm nên Doomsday của năm 1914 là thứ bảy.
Đối với một năm bất kỳ trong thế kỷ 20 (19YY), bạn tính Doomsday theo quy tắc sau:
- a là thương số của phép chia YY cho 12
- b là số dư của phép chia YY cho 12
- c là thương số của phép chia b cho 4 (biết số năm nhuận để tính số ngày cộng thêm)
- d=a+b+c
- e là số dư phép chia d cho 7
- Doomsday của năm 19YY sẽ có thứ sau Doomsday của năm 1900 (thứ tư) e ngày.
Ví dụ: Doomsday của năm 1929 là thứ mấy?
Trả lời: a = 29 div 12 = 2; b = 29 mod 12 = 5; c = b div 4 = 5 div 4 = 1; d = a+b+c = 2+5+1 = 8; e =
d mod 7 = 8 mod 7 = 1. Sau thứ tư 1 ngày (e=1) là thứ năm. Như vậy Doomsday của năm 1929 là thứ
năm.
Doomsday của năm đầu trong một số thế kỷ:
Đối với những thế kỷ khác, cách tính Doomsday cũng tương tự như đối với thế kỷ 20. Vấn đề ở đây là bạn
cần biết Doomsday của năm đầu tiên của thế kỷ. Bảng dưới đây cung cấp cho bạn Doomsday của năm
đầu của một số thế kỷ. Để nhó bảng này cũng không quá khó.
Ứng dụng:
Nếu bạn có khả năng nhớ và tính toán tương đối nhanh thì cách tính trên (cũng không quá phức tạp để
nhớ) giúp bạn có thể tính nhẩm thứ của bất kỳ ngày nào. Điều này khiến bạn chẳng khác gì một “quyển
lịch sống”. Thật ấn tượng phải không bạn? Các bạn lập trình có thể áp dụng cách tính trên vào chương
trình của mình. Chỉ với một số dòng lệnh tương đối đơn giản, bạn đã có một bộ lịch “liên thế kỷ”, đối với
những chương trình cần tra ngày tháng, bạn sẽ không tốn công lưu trữ lịch để tra cứu… Tôi nghĩ phương
pháp trên rất hay, hữu dụng và hy vọng nó cũng sẽ mang lại ích lợi gì đó cho bạn.
Bạn có thể tải chương trình Doomsday có sử dụng cách tính trên để kham thảo. Chương trình viết bằng
Visual Basic, nhằm minh họa cách “tin học hóa” thuật toán Doomsday, có thể tính thứ một ngày bất kỳ và
in ra lịch của các năm. (Thực ra với khả năng tính của máy tính thì không cần sử dụng thuật toán
Doomsday cũng tính được thứ của một ngày bất kỳ. Ví dụ như biết rằng hôm nay là thứ năm 7/10/2004
thì đơn thuần chúng ta chỉ cần đếm ngược lại hoặc đếm lên để tính thứ một ngày bất kỳ.)

Más contenido relacionado

Último

CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptxCHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx22146042
 
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHTư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHThaoPhuong154017
 
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...PhcTrn274398
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdftohoanggiabao81
 
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocBai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocVnPhan58
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líDr K-OGN
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Nguyen Thanh Tu Collection
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...Nguyen Thanh Tu Collection
 
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...Nguyen Thanh Tu Collection
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...Nguyen Thanh Tu Collection
 
Nhóm 10-Xác suất và thống kê toán-đại học thương mại
Nhóm 10-Xác suất và thống kê toán-đại học thương mạiNhóm 10-Xác suất và thống kê toán-đại học thương mại
Nhóm 10-Xác suất và thống kê toán-đại học thương mạiTruongThiDiemQuynhQP
 
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoabài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa2353020138
 
cuộc cải cách của Lê Thánh Tông - Sử 11
cuộc cải cách của Lê Thánh Tông -  Sử 11cuộc cải cách của Lê Thánh Tông -  Sử 11
cuộc cải cách của Lê Thánh Tông - Sử 11zedgaming208
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxnhungdt08102004
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxendkay31
 
Ma trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tếMa trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tếngTonH1
 
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếHệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếngTonH1
 
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )lamdapoet123
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...Nguyen Thanh Tu Collection
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 

Último (20)

CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptxCHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
CHƯƠNG VII LUẬT DÂN SỰ (2) Pháp luật đại cương.pptx
 
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXHTư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
Tư tưởng Hồ Chí Minh về độc lập dân tộc và CNXH
 
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
ĐẢNG LÃNH ĐẠO HAI CUỘC KHÁNG CHIẾN GIÀNH ĐỘC LẬP HOÀN TOÀN, THỐNG NHẤT ĐẤT NƯ...
 
Sơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdfSơ đồ tư duy môn sinh học bậc THPT.pdf
Sơ đồ tư duy môn sinh học bậc THPT.pdf
 
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hocBai 1 cong bo mot cong trinh nghien cuu khoa hoc
Bai 1 cong bo mot cong trinh nghien cuu khoa hoc
 
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh líKiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
Kiểm tra chạy trạm lí thuyết giữa kì giải phẫu sinh lí
 
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
Sáng kiến “Sử dụng ứng dụng Quizizz nhằm nâng cao chất lượng ôn thi tốt nghiệ...
 
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
ĐỀ THAM KHẢO THEO HƯỚNG MINH HỌA 2025 KIỂM TRA CUỐI HỌC KÌ 2 NĂM HỌC 2023-202...
 
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
TỔNG HỢP 30 ĐỀ THI CHỌN HSG CÁC TRƯỜNG THPT CHUYÊN VÙNG DUYÊN HẢI & ĐỒNG BẰNG...
 
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
SÁNG KIẾN “THIẾT KẾ VÀ SỬ DỤNG INFOGRAPHIC TRONG DẠY HỌC ĐỊA LÍ 11 (BỘ SÁCH K...
 
Nhóm 10-Xác suất và thống kê toán-đại học thương mại
Nhóm 10-Xác suất và thống kê toán-đại học thương mạiNhóm 10-Xác suất và thống kê toán-đại học thương mại
Nhóm 10-Xác suất và thống kê toán-đại học thương mại
 
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoabài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
bài 5.1.docx Sinh học di truyền đại cương năm nhất của học sinh y đa khoa
 
cuộc cải cách của Lê Thánh Tông - Sử 11
cuộc cải cách của Lê Thánh Tông -  Sử 11cuộc cải cách của Lê Thánh Tông -  Sử 11
cuộc cải cách của Lê Thánh Tông - Sử 11
 
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docxTrích dẫn trắc nghiệm tư tưởng HCM5.docx
Trích dẫn trắc nghiệm tư tưởng HCM5.docx
 
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptxChàm - Bệnh án (da liễu - bvdlct ctump) .pptx
Chàm - Bệnh án (da liễu - bvdlct ctump) .pptx
 
Ma trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tếMa trận - định thức và các ứng dụng trong kinh tế
Ma trận - định thức và các ứng dụng trong kinh tế
 
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tếHệ phương trình tuyến tính và các ứng dụng trong kinh tế
Hệ phương trình tuyến tính và các ứng dụng trong kinh tế
 
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
Bài giảng về vật liệu ceramic ( sứ vệ sinh, gạch ốp lát )
 
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
10 ĐỀ KIỂM TRA + 6 ĐỀ ÔN TẬP CUỐI KÌ 2 VẬT LÝ 11 - KẾT NỐI TRI THỨC - THEO C...
 
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
BỘ ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 

Destacado

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 

Destacado (20)

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 

Thuat toan doomsday

  • 1. Thuật toán Doomsday Giới thiệu: Để biết một ngày nào đó trong năm là thứ mấy thì bạn làm thế nào? Có lẽ bạn sẽ cần một quyển lịch để dò tìm. Tuy nhiên, không cần đến lịch, tôi vẫn có thể tính được thứ của bất kỳ ngày nào trong bất cứ năm nào. Bạn có nghĩ tôi “xạo” không? Bạn hãy theo dõi cách tính thứ của một ngày bất kỳ theo phương pháp của tiến sĩ John Horton Conway (1), một nhà toán học nổi tiếng, rồi bạn sẽ thấy những gì tôi nói ở trên là không sai. Cách tính này do tiến sĩ Conway phát minh vào những năm 1970, được coi là phương pháp đơn giản và dễ nhớ nhất so với các cách tính thứ khác (2). Doomsday của một năm là gì?: Trước tiên, bạn cần biết về khái niệm 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 (3). Ví dụ như Doomsday của năm 2004 (năm nhuận) là chủ nhật 29/2. Khi biết được Doomsday, bạn sẽ 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 đối với những tháng chẵn: Bạn đã tính được thứ của các ngày trong tháng hai, còn những tháng khác thì sao? Trước tiên, chúng ta nói về 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. Thật dễ nhớ phải không bạn? 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. Cách tính đối với những tháng lẻ: Đối với những tháng lẻ thì tính như thế nào? Cách tính cũng tương tự như trên, tuy nhiên chúng ta cần nhớ một ngày trong tháng có thứ trùng với Doomsday. 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òn tháng ba thì sao? 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. Có một cách giúp bạn nhớ các ngày trên của các tháng lẻ (trừ tháng 1). Đối với những tháng 3, 5, 7 là những tháng dài (31 ngày), bạn lấy tháng đó cộng thêm 4 sẽ ra ngày cần nhớ (tháng 3: 3+4=7 => ngày 7/3; tháng 5: 5+4=9 => ngày 9/5; tháng 7: 7+4=11 => ngày 11/7), Đối với những tháng 9, 11 là những tháng ngắn (30 ngày), bạn lấy tháng đó trừ đi 4 sẽ ra ngày cần nhớ (tháng 9: 9-4=5 => ngày 5/9; tháng 11: 11-4=7 => ngày 7/11). Tháng một 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. Bạn cần chú ý điểm đặc biệt này để tính cho chính xác. Sau khi đọc cách tính trong tháng một của tiến sĩ Conway, một độc giả tên Bob Goddard đã đề nghị một ngày khác dễ nhớ hơn đối với tháng một. Đó là ngày 3/1 trong năm thường và ngày 4/1 trong năm nhuận. Các ngày này có thứ trùng với Doomsday. Để dễ nhớ, ta liên tưởng số 3 là 3 năm thường trong chu kỳ 4 năm sẽ có năm nhuận, còn số 4 gợi ý đến năm nhuận vì năm nhuận chia hết cho 4. Doomsday của các năm trong thế kỷ 20:
  • 2. Muốn tính thứ của bất kỳ ngày nào trong một năm, bạn cần biết Doomsday của năm đó. Doomsday của năm 2004 là chủ nhật 29/2, vậy Doomsday của năm 2003 là thứ mấy? Xin trả lời bạn là thứ sáu. Bởi vì năm 2004 là năm nhuận có 366 ngày, 366 chia 7 dư 2, vì vậy Doomsday của năm 2003 có thứ trước Doomsday của năm 2004 hai ngày nên là thứ sáu. Tương tự, Doomsday của năm 2002 là thứ năm vì năm 2003 có 365 ngày, 365 chia 7 dư 1. Như vậy, để tính Doomsday của một năm trước năm thường, bạn lùi 1 ngày, để tính Doomsday của một năm trước năm nhuận, bạn lùi 2 ngày. (Bạn lưu ý là năm nhuận dư ra 1 ngày thì ngày này ảnh hưởng đến năm trước đó chứ không phải năm sau nó vì Doomsday của năm nhuận là ngày 29/2 chứ không phải 28/2). Áp dụng cách này, biết Doomsday của một năm nào đó, ta tính được Doomsday của những năm khác. Bảng bên là Doomsday của những năm trong thế kỷ 20 (năm in đậm là năm nhuận). Phần lớn chúng ta sinh ra và sống trong thế kỷ 20 nên có lẽ bảng này sẽ được dùng nhiều. Tuy nhiên, thật khó để nhớ được mọi chi tiết trong bảng. Nhưng có một cách tính khác giúp bạn biết được Doomsday của từng năm trong thế kỷ 20. Trước hết bạn cần ghi nhớ Doomsday của năm 1900 là thứ tư. Cứ 4 năm thì có một năm nhuận, vì vậy Doomsday mỗi 4 năm cách nhau 5 ngày. Tương tự, Doomsday mỗi 8 năm cách nhau 10 ngày, hay là 3 ngày (10 chia 7 dư 3), Doomsday mỗi 12 năm cách nhau 15 ngày, hay là 1 ngày. Ta sẽ ghi nhớ chu kỳ 12 năm này (tiện lợi vì con số chênh lệch chỉ là 1 ngày) để tính nhanh Doomsday của một năm. Chẳng hạn như ta tính được Doomsday của năm 1914 là thứ bảy, bởi vì Doomsday của năm 1900 là thứ tư nên Doomsday của năm 1912 (12 năm sau) là thứ năm nên Doomsday của năm 1914 là thứ bảy. Đối với một năm bất kỳ trong thế kỷ 20 (19YY), bạn tính Doomsday theo quy tắc sau: - a là thương số của phép chia YY cho 12 - b là số dư của phép chia YY cho 12 - c là thương số của phép chia b cho 4 (biết số năm nhuận để tính số ngày cộng thêm) - d=a+b+c - e là số dư phép chia d cho 7 - Doomsday của năm 19YY sẽ có thứ sau Doomsday của năm 1900 (thứ tư) e ngày. Ví dụ: Doomsday của năm 1929 là thứ mấy? Trả lời: a = 29 div 12 = 2; b = 29 mod 12 = 5; c = b div 4 = 5 div 4 = 1; d = a+b+c = 2+5+1 = 8; e = d mod 7 = 8 mod 7 = 1. Sau thứ tư 1 ngày (e=1) là thứ năm. Như vậy Doomsday của năm 1929 là thứ
  • 3. năm. Doomsday của năm đầu trong một số thế kỷ: Đối với những thế kỷ khác, cách tính Doomsday cũng tương tự như đối với thế kỷ 20. Vấn đề ở đây là bạn cần biết Doomsday của năm đầu tiên của thế kỷ. Bảng dưới đây cung cấp cho bạn Doomsday của năm đầu của một số thế kỷ. Để nhó bảng này cũng không quá khó. Ứng dụng: Nếu bạn có khả năng nhớ và tính toán tương đối nhanh thì cách tính trên (cũng không quá phức tạp để nhớ) giúp bạn có thể tính nhẩm thứ của bất kỳ ngày nào. Điều này khiến bạn chẳng khác gì một “quyển lịch sống”. Thật ấn tượng phải không bạn? Các bạn lập trình có thể áp dụng cách tính trên vào chương trình của mình. Chỉ với một số dòng lệnh tương đối đơn giản, bạn đã có một bộ lịch “liên thế kỷ”, đối với những chương trình cần tra ngày tháng, bạn sẽ không tốn công lưu trữ lịch để tra cứu… Tôi nghĩ phương pháp trên rất hay, hữu dụng và hy vọng nó cũng sẽ mang lại ích lợi gì đó cho bạn. Bạn có thể tải chương trình Doomsday có sử dụng cách tính trên để kham thảo. Chương trình viết bằng Visual Basic, nhằm minh họa cách “tin học hóa” thuật toán Doomsday, có thể tính thứ một ngày bất kỳ và in ra lịch của các năm. (Thực ra với khả năng tính của máy tính thì không cần sử dụng thuật toán Doomsday cũng tính được thứ của một ngày bất kỳ. Ví dụ như biết rằng hôm nay là thứ năm 7/10/2004 thì đơn thuần chúng ta chỉ cần đếm ngược lại hoặc đếm lên để tính thứ một ngày bất kỳ.)