TungTang (ตุงตัง)

เศษสตางค์หารไม่ลงตัว คิดยังไงให้ยอดตรง

100 บาทหารสามคนได้คนละ 33.3333… ปัดลงเป็น 33.33 ทุกคนแล้วรวมได้ 99.99 ขาดไปหนึ่งสตางค์ ปัดขึ้นเป็น 33.34 ทุกคนแล้วรวมได้ 100.02 เกินมาสองสตางค์ ทั้งสองแบบผิดในแบบที่แก้ไม่ได้ด้วยการปัดให้ละเอียดขึ้น

ทำไมปัดทีละคนแล้วไม่ตรง

เพราะปัดแยกกันทีละคนแล้วค่อยเอามารวม ความคลาดของแต่ละคนบวกกันเป็นก้อน ยิ่งคนมากยิ่งเพี้ยนมาก และมันเพี้ยนไปทางเดียวเสมอ ปัดลงก็ขาดทุกครั้ง ปัดขึ้นก็เกินทุกครั้ง ในทางบัญชีเรียกปัญหานี้ว่ายอดไม่ balance

ทางแก้คือกลับลำดับการคิด ล็อกยอดรวมไว้ก่อน แล้วค่อยแบ่ง ไม่ใช่แบ่งก่อนแล้วหวังว่ารวมกันจะพอดี วิธีที่ใช้กันคือ largest remainder หรือวิธีเศษเหลือมากสุด

วิธี largest remainder ทีละขั้น

คิดเป็นสตางค์ทั้งหมด อย่าคิดเป็นบาททศนิยม เพราะเลขทศนิยมในคอมพิวเตอร์เก็บไม่ตรงอยู่แล้ว

  1. เอายอดเป็นสตางค์ หารจำนวนคน ปัดลง ได้ยอดฐานที่ทุกคนได้เท่ากัน
  2. เอายอดจริง ลบ (ยอดฐาน × จำนวนคน) ได้ เศษ เป็นจำนวนสตางค์เต็มหน่วย
  3. แจกเศษนั้น คนละหนึ่งสตางค์ ไปเรื่อย ๆ จนหมด

ผลลัพธ์คือผลรวมเท่ากับยอดตั้งต้นเป๊ะทุกครั้ง และไม่มีใครต่างจากใครเกินหนึ่งสตางค์ ไม่ใช่ว่าคนหนึ่งรับเศษไปทั้งก้อน

ตัวอย่าง 53 บาท หารสามคน

ขั้น คิด ได้
ยอดเป็นสตางค์ 53.00 บาท 5300
ยอดฐาน 5300 ÷ 3 ปัดลง 1766
เศษ 5300 − (1766 × 3) 2
แจกเศษ สองคนแรกได้เพิ่มคนละ 1 สตางค์ 1767 · 1767 · 1766
รวม 17.67 + 17.67 + 17.66 53.00

ตัวอย่าง 100 บาท หารสามคน

10000 สตางค์ ÷ 3 ปัดลงได้ 3333 เศษ 10000 − 9999 = 1 สตางค์ แจกให้คนแรกหนึ่งสตางค์ ได้ 33.34 · 33.33 · 33.33 รวม 100.00 พอดี

ใครควรรับเศษ

เศษต้องไปตกกับใครคนหนึ่ง เลี่ยงไม่ได้ คำถามคือใคร TungTang ให้ คนที่ออกเงินรับเศษก่อน แล้วจึงไล่ตามลำดับชื่อในวง ด้วยเหตุผลง่าย ๆ ว่าคนที่ควักเงินไปแล้วเป็นคนที่ควรเสียเปรียบหนึ่งสตางค์ ไม่ใช่คนที่กำลังจะโอนคืนให้เขา ถ้าให้คนอื่นรับเศษ คนที่ออกเงินจะเก็บคืนได้ไม่ครบยอดที่ควักไป

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

สิ่งที่ควรเลี่ยง

ลองหารบิลดู

TungTang คิดเป็นสตางค์จำนวนเต็มทั้งหมดและใช้วิธีนี้กับทุกรายการ ยอดสรุปจึงรวมได้เท่ากับยอดบิลเป๊ะทุกครั้ง ไม่มีหนึ่งสตางค์หายหรือเกิน

อ่านต่อ