อ้างอิง:
ข้อความเดิมของคุณ TOP:
หากพวกเขาได้รับปัญหาใหม่เป็น- มีถังน้ำ 2 ใบ ความจุ 3 และ 7 แกลลอน พวกเขาจะต้องตวงน้ำ 5 แกลลอน
- มีถังน้ำ 2 ใบ ความจุ 4 และ 6 แกลลอน พวกเขาจะต้องตวงน้ำ 5 แกลลอน
- มีถังน้ำ 2 ใบ ความจุ 5 และ 9 แกลลอน พวกเขาจะต้องตวงน้ำ 7 แกลลอน
- มีถังน้ำ 2 ใบ ความจุ 6 และ 10 แกลลอน พวกเขาจะต้องตวงน้ำ 7 แกลลอน
พวกเขาจะรู้ได้อย่างไรว่า ปัญหาใดไม่มีทางแก้ได้สำเร็จ จะได้ไม่ถูกผู้ร้ายหลอกให้เสียเวลาแก้ปัญหาจนตายโดยไม่รู้เรื่อง
|
เมื่อมีถังความจุ a และ b แกลลอน ต้องการน้ำ c แกลลอน ข้อนี้ถามว่า สมการ Diophantine ax+by=c สามารถแก้หา x,y ออกมาเป็นจำนวนเต็มได้หรือไม่ ซึ่งสมการนี้แก้ได้ ก็ต่อเมื่อ (a,b)|c อันหมายถึง หากพระเอกดวงซวยเจอปัญหาที่สองและสี่ ไม่หาทางกำจัดระเบิด ก็ตัวใครตัวมันละครับ ส่วนวิธีการตวงน้ำในข้อที่เหลือ ทำได้ดังนี้
3,5 แกลลอน เอา 4 แกลลอน
เนื่องจาก 5(2)+3(-2)=4 ตอนแรกก็ตักน้ำด้วยถังห้าแกลลอนก่อน แล้วเทน้ำจากถังห้าแกลลอนลงสามแกลลอน แล้วทิ้งน้ำในถังสามแกลลอนทิ้ง แล้วเทสองแกลลอนที่เหลือในถังห้าแกลลอนลงในถังสามแกลลอน ตวงน้ำในถังห้าแกลลอนอีกที เทน้ำอีกหนึ่งลิตรจากถังห้าแกลลอนลงถังสามแกลลอน แล้วก็รีบเอาน้ำในถังห้าแกลลอนไปวางบนตาชั่ง
3,7 แกลลอน เอา 5 แกลลอน
เนื่องจาก 3(4)+7(-1)=5 ตอนแรกก็ตักน้ำด้วยถังสามแกลลอนสามครั้งเติมถังเจ็ดแกลลอน แล้วเทน้ำในถังเจ็ดแกลลอนทิ้ง จากนั้นเทน้ำที่เหลือสองแกลลอนในถังสามแกลลอนลงในถังเจ็ดแกลลอน แล้วก็ตวงน้ำอีกสามแกลลอนเติมในถังเจ็ดแกลลอน แล้วรีบเอาไปชั่ง
5,9 แกลลอน เอา 7 แกลลอน
เนื่องจาก 5(-4)+9(3)=7 ตอนแรกเทน้ำจากถังเก้าแกลลอนลงในถังห้าแกลลอน เทห้าแกลลอนทิ้งก่อน เติมสี่แกลลอนที่เหลือลงถังห้าแกลลอนอีกที ตวงถังเก้าแกลลอนใหม่ เติมถังห้าแกลลอนให้เต็มแล้วเททิ้ง เติมถังห้าแกลลอนอีกรอบแล้วเททิ้ง เล้วเทสามแกลลอนที่เหลือลงถังห้าแกลลอนอีกที เติมถังเก้าแกลลอนครั้งสุดท้าย เทน้ำสองลิตรลงถังเก้าแกลลอนอีกที แล้วเอาน้ำที่เหลือในถังเก้าแกลลอนไปชั่ง (เวลาคับขันแบบนี้ ไม่ต้องเสียเวลาทิ้งน้ำในถังห้าแกลลอนครั้งสุดท้ายก็ได้ครับ)
สังเกตว่าถังที่ต้องทิ้งน้ำ จะเป็นถังที่มีตัวลบปรากฎอยู่ ส่วนค่าในวงเล็บที่เป็นบวกและลบแสดงจำนวนครั้งการตักน้ำและเทน้ำจากถังที่เลขตัวนั้นคูณอยู่ครับ