เลขคณิตโมดูลาร์คือการทำงานกับเศษที่ได้จากการหารด้วยจำนวนเต็มบวกคงที่ตัวหนึ่ง ซึ่งเรียกว่า มอดุลัส ถ้าจำนวนสองจำนวนให้เศษเท่ากัน ทั้งสองจะทำหน้าที่เหมือนกันในระบบโมดูลาร์นั้น จึงมักถูกเรียกว่า คณิตนาฬิกา

บนหน้าปัดนาฬิกา 1212 ชั่วโมง เวลา 1313 นาฬิกาจะไปตกที่ 11 นาฬิกา และ 2929 ชั่วโมงก็ไปอยู่ตำแหน่งเดียวกับ 55 ชั่วโมง วงจรที่วนซ้ำนี้คือภาพจำที่ช่วยให้เข้าใจเลขคณิตโมดูลาร์

mod หมายถึงอะไรในเลขคณิตโมดูลาร์

สำหรับจำนวนเต็ม aa และจำนวนเต็มบวก nn นิพจน์ amodna \bmod n หมายถึงเศษเมื่อหาร aa ด้วย nn

ตัวอย่าง:

29mod12=529 \bmod 12 = 5

เพราะว่า

29=122+529 = 12 \cdot 2 + 5

มอดุลัสคือ 1212 ดังนั้นการบวกหรือลบ 1212 จะไม่เปลี่ยนตำแหน่งที่ตกในรอบการวนซ้ำ

ความสมมูลโมดูโล nn หมายถึงอะไร

ความสมมูลเป็นวิธีเขียนอย่างเป็นทางการว่าจำนวนเต็มสองจำนวนมีพฤติกรรมเหมือนกันภายใต้โมดูโล nn

ab(modn)a \equiv b \pmod n

หมายความว่า aa และ bb ให้เศษเท่ากันเมื่อหารด้วย nn อีกวิธีหนึ่งที่ใช้ตรวจสอบได้เทียบเท่ากันคือ

n(ab)n \mid (a-b)

ซึ่งหมายถึง "nn หาร aba-b ลงตัว"

ดังนั้น

295(mod12)29 \equiv 5 \pmod{12}

เพราะ 295=2429 - 5 = 24 และ 1212 หาร 2424 ลงตัว

ความแตกต่างนี้สำคัญ:

  • 29mod12=529 \bmod 12 = 5 เป็นข้อความเกี่ยวกับเศษ
  • 295(mod12)29 \equiv 5 \pmod{12} เป็นข้อความเกี่ยวกับความสมมูล

ทั้งสองเกี่ยวข้องกัน แต่ใช้แทนกันไม่ได้

ตัวอย่างแบบทำทีละขั้น: หลังจาก 2929 ชั่วโมงนับจาก 88 นาฬิกา

สมมติว่าตอนนี้เป็นเวลา 88 นาฬิกา และคุณต้องการรู้ว่าอีก 2929 ชั่วโมงต่อมาจะเป็นเวลาเท่าไรบนหน้าปัด 1212 ชั่วโมง

เริ่มจากลด 2929 ภายใต้โมดูโล 1212 ก่อน:

29mod12=529 \bmod 12 = 5

ดังนั้นการบวก 2929 ชั่วโมงให้ผลเหมือนกับการบวก 55 ชั่วโมง:

8+298+5(mod12)8 + 29 \equiv 8 + 5 \pmod{12}

จากนั้น

8+29131(mod12)8 + 29 \equiv 13 \equiv 1 \pmod{12}

ดังนั้นนาฬิกาจะแสดงเวลา 11 นาฬิกา

จุดสำคัญคือขั้นตอนการลดค่า ในโมดูโล 1212 การแทน 2929 ด้วย 55 ทำให้คำตอบยังเหมือนเดิม แต่คำนวณได้ง่ายขึ้น

ทำไมการลดค่าก่อนจึงทำให้โจทย์ง่ายขึ้น

จำนวนที่มีค่ามากมักจัดการได้ง่ายขึ้น ถ้าคุณแทนมันด้วยจำนวนที่เล็กกว่าแต่สมมูลกัน

ตัวอย่างเช่น ในโมดูโล 77

1002(mod7)100 \equiv 2 \pmod 7

เพราะ 1002=98100 - 2 = 98 หารด้วย 77 ลงตัว ถ้าโจทย์สนใจเฉพาะค่าภายใต้โมดูโล 77 คุณก็สามารถใช้ 22 แทน 100100 ได้

ข้อผิดพลาดที่พบบ่อย

สับสนระหว่างความเท่ากันกับความสมมูล

295(mod12)29 \equiv 5 \pmod{12} ไม่ได้แปลว่า 29=529 = 5 แต่มันหมายความว่าทั้งสองอยู่ในกลุ่มเศษเดียวกันภายใต้โมดูโล 1212

ลืมว่ามอดุลัสมีผลต่อคำตอบ

175(mod12)17 \equiv 5 \pmod{12} เป็นจริง แต่ 175(mod10)17 \equiv 5 \pmod{10} เป็นเท็จ ความสมมูลต้องอ้างอิงกับมอดุลัสที่กำหนดเสมอ

มอง mod เหมือนการหารแบบปกติ

29mod1229 \bmod 12 คือเศษ 55 ไม่ใช่ผลหาร 22 และไม่ใช่เศษส่วน 29/1229/12

คิดว่า % ในซอฟต์แวร์ให้ผลตรงกับนิยามทางคณิตศาสตร์เสมอ

สำหรับจำนวนบวก เครื่องหมาย % ในภาษาโปรแกรมมักตรงกับแนวคิดเรื่องเศษที่นักเรียนเรียนกันก่อน แต่เมื่อเป็นจำนวนลบ ข้อตกลงอาจต่างกันได้ ดังนั้นผลลัพธ์อาจไม่ตรงกับเศษไม่ลบน้อยที่สุดที่ใช้กันในวิชาคณิตศาสตร์หลายหลักสูตร

เลขคณิตโมดูลาร์ถูกใช้ที่ไหน

คุณจะพบเลขคณิตโมดูลาร์ทุกครั้งที่ค่าต่าง ๆ วนซ้ำเป็นรอบ เช่น นาฬิกา วันในสัปดาห์ ระบบเลขตรวจสอบ แฮช และอีกหลายส่วนของทฤษฎีจำนวน

มันยังปรากฏในวิทยาการเข้ารหัสด้วย แต่แนวคิดพื้นฐานยังเหมือนเดิม คือจัดกลุ่มจำนวนตามค่าเศษ และถือว่าจำนวนที่สมมูลกันใช้แทนกันได้ภายในระบบนั้น

ลองทำโจทย์คล้ายกัน

วันอะไรจะเป็นวันที่ 100100 หลังจากวันจันทร์ เนื่องจากวันในสัปดาห์วนซ้ำแบบโมดูโล 77 ให้เริ่มจากลด 100100 ภายใต้โมดูโล 77 ก่อนแล้วค่อยตอบ

ถ้าคุณอยากลองอีกกรณีเพื่อเปรียบเทียบ ลองสร้างโจทย์แบบของคุณเองใน GPAI Solver แล้วดูว่าการลดค่าก่อนช่วยให้ทำงานสั้นลงหรือไม่

ต้องการความช่วยเหลือในการแก้โจทย์?

อัปโหลดคำถามของคุณแล้วรับคำตอบแบบทีละขั้นตอนที่ผ่านการตรวจสอบในไม่กี่วินาที

เปิด GPAI Solver →