เศษสตางค์หารไม่ลงตัว คิดยังไงให้ยอดตรง
100 บาทหารสามคนได้คนละ 33.3333… ปัดลงเป็น 33.33 ทุกคนแล้วรวมได้ 99.99 ขาดไปหนึ่งสตางค์ ปัดขึ้นเป็น 33.34 ทุกคนแล้วรวมได้ 100.02 เกินมาสองสตางค์ ทั้งสองแบบผิดในแบบที่แก้ไม่ได้ด้วยการปัดให้ละเอียดขึ้น
ทำไมปัดทีละคนแล้วไม่ตรง
เพราะปัดแยกกันทีละคนแล้วค่อยเอามารวม ความคลาดของแต่ละคนบวกกันเป็นก้อน ยิ่งคนมากยิ่งเพี้ยนมาก และมันเพี้ยนไปทางเดียวเสมอ ปัดลงก็ขาดทุกครั้ง ปัดขึ้นก็เกินทุกครั้ง ในทางบัญชีเรียกปัญหานี้ว่ายอดไม่ balance
ทางแก้คือกลับลำดับการคิด ล็อกยอดรวมไว้ก่อน แล้วค่อยแบ่ง ไม่ใช่แบ่งก่อนแล้วหวังว่ารวมกันจะพอดี วิธีที่ใช้กันคือ largest remainder หรือวิธีเศษเหลือมากสุด
วิธี largest remainder ทีละขั้น
คิดเป็นสตางค์ทั้งหมด อย่าคิดเป็นบาททศนิยม เพราะเลขทศนิยมในคอมพิวเตอร์เก็บไม่ตรงอยู่แล้ว
- เอายอดเป็นสตางค์ หารจำนวนคน ปัดลง ได้ยอดฐานที่ทุกคนได้เท่ากัน
- เอายอดจริง ลบ (ยอดฐาน × จำนวนคน) ได้ เศษ เป็นจำนวนสตางค์เต็มหน่วย
- แจกเศษนั้น คนละหนึ่งสตางค์ ไปเรื่อย ๆ จนหมด
ผลลัพธ์คือผลรวมเท่ากับยอดตั้งต้นเป๊ะทุกครั้ง และไม่มีใครต่างจากใครเกินหนึ่งสตางค์ ไม่ใช่ว่าคนหนึ่งรับเศษไปทั้งก้อน
ตัวอย่าง 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 ให้ คนที่ออกเงินรับเศษก่อน แล้วจึงไล่ตามลำดับชื่อในวง ด้วยเหตุผลง่าย ๆ ว่าคนที่ควักเงินไปแล้วเป็นคนที่ควรเสียเปรียบหนึ่งสตางค์ ไม่ใช่คนที่กำลังจะโอนคืนให้เขา ถ้าให้คนอื่นรับเศษ คนที่ออกเงินจะเก็บคืนได้ไม่ครบยอดที่ควักไป
และเพราะลำดับนี้คงที่ ตัวเลขจึงออกมาเหมือนกันทุกครั้งที่คิดใหม่ ไม่ใช่สุ่มว่าใครโดนเศษ ซึ่งสำคัญเวลามีคนเถียงว่าเมื่อกี้ไม่ใช่ยอดนี้
สิ่งที่ควรเลี่ยง
- อย่าเก็บเงินเป็นเลขทศนิยม ในโปรแกรม ให้เก็บเป็นสตางค์จำนวนเต็ม เพราะ 0.1 + 0.2 ในเลขทศนิยมของเครื่องไม่เท่ากับ 0.3 พอดี บิลใหญ่ ๆ ความคลาดพวกนี้จะโผล่มาเป็นหนึ่งสตางค์ที่หาไม่เจอว่ามาจากไหน
- อย่าปัดขึ้นให้ลงตัวเป็นบาท เพื่อความสะดวก เว้นแต่ทุกคนในวงตกลงกันแล้ว เพราะมันคือการเก็บเกินจากทุกคนโดยไม่มีใครได้เงินส่วนนั้นไป
อ่านต่อ
- หารบิลไม่เท่ากัน ใครกินอะไรจ่ายเท่านั้น — แยกทีละรายการว่าใครร่วมหาร
- QR พร้อมเพย์ไม่ระบุยอด ใช้ยังไง — ส่งรูปเดียวให้ทุกคนในวงสแกน