
ไขรหัสวัน: เคล็ดลับอัจฉริยะที่ใครก็ทำได้
เคยสงสัยไหมว่าทำไมบางคนถึงสามารถคำนวณวันในสัปดาห์ของวันที่ในอดีตหรืออนาคตได้อย่างแม่นยำรวดเร็ว ดูเหมือนเป็นเรื่องเวทมนตร์ หรือพรสวรรค์พิเศษ แต่ความจริงแล้วมันคือเรื่องของ คณิตศาสตร์ ที่มีสูตรสำเร็จรูปให้ใช้งาน สูตรนี้ช่วยให้ทุกคนสามารถไขรหัสวันได้ราวกับเป็นอัจฉริยะเลยทีเดียว
ความลับของวันทั้งเจ็ด
หัวใจสำคัญของการคำนวณนี้อยู่ที่แนวคิดของ เลขคณิตมอดูลาร์ หรือที่เรียกง่ายๆ ว่า การหารเอาเศษ ในหนึ่งสัปดาห์มี 7 วัน วงจรของวันจะซ้ำกันทุกๆ 7 วัน เมื่อเราพูดถึงวันในสัปดาห์ เราสนใจแค่เศษจากการหารด้วย 7 ตัวอย่างเช่น วันนี้วันพุธ อีก 7 วันข้างหน้าก็ยังเป็นวันพุธ หรือ 8 วันข้างหน้าก็จะเป็นวันพฤหัสบดี เพราะ 8 หารด้วย 7 เหลือเศษ 1
เพื่อใช้ในสูตร เราจำเป็นต้องกำหนดตัวเลขแทนวันในสัปดาห์ โดยในสูตรที่เราจะใช้ จะมีการกำหนดให้ วันเสาร์ เป็น 0, วันอาทิตย์ เป็น 1, วันจันทร์ เป็น 2 ไปเรื่อยๆ จนถึง วันศุกร์ เป็น 6 การทำความเข้าใจเรื่องเศษและการกำหนดตัวเลขเหล่านี้ คือก้าวแรกสู่การเป็นนักคำนวณวันที่
สูตรไขรหัส Zeller’s Congruence
สูตรอันทรงพลังสำหรับการคำนวณวันในสัปดาห์คือ Zeller’s Congruence ซึ่งดูซับซ้อนในแวบแรก แต่เมื่อแบ่งย่อยแล้วจะเข้าใจได้ง่าย
สูตรมีหน้าตาแบบนี้:
h = (q + [13*(m+1)/5] + K + [K/4] + [J/4] - 2J) mod 7
มาดูกันว่าแต่ละตัวอักษรหมายถึงอะไรบ้าง:
h: คือผลลัพธ์ที่เป็นตัวเลขแทนวันในสัปดาห์ โดย 0 คือวันเสาร์, 1 คือวันอาทิตย์, … จนถึง 6 คือวันศุกร์q: คือ วันที่ ในเดือนนั้นๆ (เช่น ถ้าเป็นวันที่ 13 ก็คือ 13)m: คือ เดือน ซึ่งมีค่าเฉพาะสำหรับสูตรนี้- เดือนมีนาคม = 3, เมษายน = 4, … ธันวาคม = 12
- กุมภาพันธ์ = 14 และ มกราคม = 13 (สำหรับสองเดือนนี้ เราจะถือว่าเป็นเดือนของปี ก่อนหน้า)
Y: คือ ปี ทั้งปี (เช่น 2024)K: คือ ปีของศตวรรษ หรือสองหลักสุดท้ายของปี (เช่น ถ้าปี 2024, K คือ 24)J: คือ ศตวรรษ หรือสองหลักแรกของปี (เช่น ถ้าปี 2024, J คือ 20)- เครื่องหมาย
[]: หมายถึง ปัดเศษลง หรือเอาแต่จำนวนเต็ม (floor function) mod 7: หมายถึง การหารเอาเศษ ด้วย 7
การปรับใช้สำหรับเดือนมกราคมและกุมภาพันธ์
จุดสำคัญที่ต้องจำคือสำหรับเดือน มกราคม และ กุมภาพันธ์ เราต้องทำเหมือนว่ามันเป็นเดือนที่ 13 และ 14 ของปี ก่อนหน้า นั่นหมายความว่า ถ้าเรากำลังคำนวณหาวันที่ 1 มกราคม 2024 เราจะต้องใช้ m=13 และ Y=2023 (ปีที่แล้ว) แทน
ลองคำนวณจริงกัน
มาดูตัวอย่างการคำนวณหาวันในสัปดาห์สำหรับวันที่ 13 พฤษภาคม 2024 กัน
-
ระบุค่าตัวแปร:
q = 13(วันที่ 13)m = 5(เดือนพฤษภาคม)Y = 2024(ปี 2024)- ดังนั้น
K = 24(สองหลักสุดท้ายของปี) - และ
J = 20(สองหลักแรกของปี)
-
แทนค่าลงในสูตร:
h = (13 + [13*(5+1)/5] + 24 + [24/4] + [20/4] - 2*20) mod 7 -
คำนวณแต่ละส่วน:
h = (13 + [13*6/5] + 24 + 6 + 5 - 40) mod 7
h = (13 + [78/5] + 24 + 6 + 5 - 40) mod 7
h = (13 + 15 + 24 + 6 + 5 - 40) mod 7
h = (63 - 40) mod 7
h = 23 mod 7 -
หาเศษจากการหารด้วย 7:
h = 2(เพราะ 23 หารด้วย 7 ได้ 3 เหลือเศษ 2) -
ตีความผลลัพธ์:
ค่าh = 2หมายถึง วันจันทร์ (ตามการกำหนด 0=เสาร์, 1=อาทิตย์, 2=จันทร์)
ดังนั้น วันที่ 13 พฤษภาคม 2024 คือวันจันทร์นั่นเอง สามารถลองตรวจสอบกับปฏิทินได้
การฝึกฝนและความสนุกกับการคำนวณ
Zeller’s Congruence เป็นมากกว่าแค่สูตรคณิตศาสตร์ มันคือการเปิดเผยความสง่างามของตรรกะที่ซ่อนอยู่ในกาลเวลา การได้ฝึกฝนคำนวณด้วยตัวเอง ไม่ว่าจะเป็นวันเกิดของเพื่อน วันหยุดสำคัญในอนาคต หรือแม้กระทั่งวันที่ในอดีต ก็เป็นวิธีที่สนุกและท้าทาย ช่วยให้เข้าใจแนวคิดทางคณิตศาสตร์ได้ดีขึ้น และยังสร้างความประทับใจให้คนรอบข้างได้อีกด้วย ลองนำสูตรนี้ไปใช้แล้วจะพบว่าการคำนวณวันที่ไม่ยากอย่างที่คิด