คุณยังไม่ได้ Log in | สมัครสมาชิก ฟรี
กลับหน้าแรก วิชาการ.คอม
12 Balls
โพสต์เมื่อ: 20:39 วันที่ 9 ต.ค. 2544         ชมแล้ว: 2,914 ตอบแล้ว: 21
[มีคนถามผมนานมาแล้วครับ โจทย์ข้อนี้ ใครรู้คำตอบแล้วก็ยังร่วมสนุก
แสดงความเห็นได้นะครับ ]

มีลูกบอลอยู่ 12 ลูก ดูภายนอกเหมือนกันหมด แต่มีอยู่ 1 ลูกที่มีน้ำหนักต่างไปจากพวก

มีเครื่องชั่ง 1 อัน เป็นเครื่องชั่งเปรียบเทียบที่สามารถบอกได้ว่า ด้านซ้ายหรือด้านขวาหนักกว่า
แต่ไม่สามารถบอกน้ำหนักเป็นกิโลกรัมได้

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

[ หากใครชอบก็ลองคิดต่อนะครับ หากมีทั้งหมด N ลูก
จะใช้จำนวนครั้งในการชั่งอย่างน้อยที่สุดกี่ครั้งครับ
( กระผมไม่รู้หรอกครับ แต่น่าสนใจดี )

หรือ ลองคิดว่า หากชั่งทั้งหมด M ครั้ง
จะสามารถแยกลูกบลกที่ต่างจากพวก
ออกจากกลุ่มลูกบอลมากที่สุดกี่ลูก ]


เปี้ยว เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 1204 ครั้ง - ได้รับดาวแล้ว 175 ดวง - โหวตเพิ่มดาว

จำนวน 19 ความเห็น, หน้า่ | -1-
ความเห็นเพิ่มเติมที่ 1 1 ต.ค. 2543 (10:10)
ขอเลือกทำคำถามสุดท้ายก่อนนะครับ ที่ว่า
" . . . หาจำนวนลูกบอลมากที่สุด ในการชั่ง M ครั้ง
เพื่อหาลูกบอล1ลูกที่ผิดปกติ และระบุได้ด้วยว่าลูกที่ผิดปกตินั้นหนักหรือเบากว่าปกติ . . ."

ก่อนอื่นขออธิบายวิธีชั่งคร่าวๆนะครับ
( ต้องขออภัยล่วงหน้าด้วย ถ้าอธิบายไม่ดี ยาวเกินไป อ่านแล้วเข้าใจยาก
แต่อย่างไรก็ตาม ผมจะพยายามเขียนให้อ่านเข้าใจได้ง่ายที่สุด
ยังไงก็ช่วยพยายามอ่านที่ผมเขียนหน่อยนะครับ ขอบคุณครับ)

วิธีชั่ง
ชั่งครั้งแรก : จะแบ่งลูกบอลออกเป็นสองกลุ่ม
คือ กลุ่มที่นำขึ้นชั่ง กับกลุ่มที่ไม่นำขึ้นชั่ง
กลุ่มที่นำขึ้นชั่งนี้จะต้องเป็นจำนวนคู่ เพื่อให้สามารถแบ่งเป็นจำนวนเท่าๆกันเพื่อชั่งบนตาชั่งทั้งสองข้างได้

ผลของการชั่งครั้งแรก จะเป็นไปได้ ๒ กรณี คือ
ก) ตาชั่งเอียง : แสดงว่า
- ลูกบอลที่อยู่ในกลุ่มที่ไม่ได้นำขึ้นชั่งนั้น เป็นลูกปกติหมด (นำไปช่วยในการชั่งครั้งถัดไปได้)
- อาจมีลูกหนักผิดปกติปนอยู่ ในกลุ่มที่นำขึ้นชั่งในซีกที่หนักกว่า หรือ
อาจมีลูกเบาผิดปกติปนอยู่ ในกลุ่มที่นำขึ้นชั่งในซีกที่เบากว่า

ข) ตาชั่งสมดุล : แสดงว่า
- ลูกบอลที่อยู่ในกลุ่มที่นำขึ้นชั่งนั้น เป็นลูกปกติทั้งหมด (สามารถนำไปช่วยในการชั่งครั้งถัดๆไปได้)
- มีลูกผิดปกติอยู่(ไม่ทราบว่าหนักหรือเบากว่าปกติ) ปนอยู่ในกลุ่มที่ไม่ได้นำขึ้นชั่ง

( หมายเหตุ : จากการชั่งครั้งแรกนี้ เราจะทราบว่าลูกบอลลูกใดเป็นลูกปกติบ้างจำนวนหนึ่ง
ซึ่งสามารถนำไปช่วยในการชั่งครั้งถัดๆไปได้ )

การชั่งครั้งถัดไป???

การชั่งครั้งถัดไป ในกรณี ก) ชั่งแล้วตาชั่งเอียง
ให้แบ่งลูกบอลที่นำมาชั่งแล้วทราบว่า
"อาจมีลูกหนักปนอยู่(ในซีกที่หนักกว่า) หรืออาจมีลูกเบาปนอยู่(ในซีกที่เบากว่า)"
ออกเป็น 3 กลุ่ม คือ
กลุ่มแรก : เอาออกจากตาชั่ง (ไม่นำมาชั่ง)
กลุ่มสอง : ย้ายสลับข้าง ( ซีกที่เดิมหนักกว่า-->ซีกที่เดิมเบากว่า , ซีกที่เดิมเบากว่า-->ซีกที่เดิมหนักกว่า)
กลุ่มสาม : ไม่ย้ายไปไหน ( เดิมอยู่ซีกไหน ก็ชั่งซีกนั้นเหมือนเดิม)
(หมายเหตุ : ถ้าแบ่งแล้ว จำนวนลูกบอลในแต่ละซีกของตาชั่งไม่เท่ากัน ให้นำลูกปกติมาเติมให้เท่ากัน)

ผลการชั่งเป็นไปได้ ๓ แบบ คือ
a) ตาชั่งสมดุล : แสดงว่า
มีลูกผิดปกติปนอยู่ในกลุ่มที่เอาออกจากตาชั่ง โดย
อาจมีลูกหนักผิดปกติปนอยู่ ในส่วนที่เอาออกจากซีกที่เดิมหนักกว่า หรือ
อาจมีลูกเบาผิดปกติปนอยู่ ในส่วนที่เอาออกจากซีกที่เดิมเบากว่า
และลูกอื่นๆเป็นลูกปกติ

b) ตาชั่งเอียงสลับข้างจากเดิม : แสดงว่า
มีลูกผิดปกติปนอยู่ในกลุ่มที่ย้ายสลับข้าง โดย
อาจมีลูกหนักผิดปกติปนอยู่ ในส่วนที่ย้ายจากซีกที่เดิมหนักกว่า (ไปอยู่ซีกใหม่ที่ชั่งแล้วหนักกว่า) หรือ
อาจมีลูกเบาผิดปกติปนอยู่ ในส่วนที่ย้ายจากซีกที่เดิมเบากว่า (ไปอยู่ซีกใหม่ที่ชั่งแล้วเบากว่า)
และลูกอื่นๆเป็นลูกปกติ

c) ตาชั่งเอียงเหมือนเดิม : แสดงว่า
มีลูกผิดปกติปนอยู่ในกลุ่มที่ไม่ได้ย้ายไปไหน โดย
อาจมีลูกหนักผิดปกติปนอยู่ ในส่วนที่อยู่ในซีกที่เดิมหนักกว่า (ยังคงอยู่ในซีกที่หนักกว่า) หรือ
อาจมีลูกเบาผิดปกติปนอยู่ ในส่วนที่อยู่ในซีกซีกที่เดิมเบากว่า (ยังคงอยู่ในซีกที่เบากว่า)
และลูกอื่นๆเป็นลูกปกติ

จากผลการชั่งที่ได้ จะเห็นว่าผลลัพธ์ที่ออกมานั้นจะเหมือนๆเดิม คือ จะทราบว่าลูกใดเป็นลูกปกติเพิ่มมากขึ้น
และ ทราบว่าส่วนไหนอาจมีลูกหนักผิดปกติปนอยู่ ส่วนไหนอาจมีลูกเบาผิดปกติปนอยู่
ทำให้เราสามารถให้วิธีการเดิมชั่งในครั้งถัดๆไปได้ (แบ่งเป็น 3 กลุ่ม : เอาออกจากตาชั่ง-สลับข้าง -ไม่ย้ายไปไหน )


การชั่งครั้งถัดไป ในกรณี ข) ชั่งแล้วตาชั่งสมดุล
ให้แบ่งลูกบอลที่ยังไม่ได้นำขึ้นชั่ง(กลุ่มที่มีลูกผิดปกติที่ไม่ทราบว่าหนักหรือเบากว่าปกติปนอยู่) เป็นสองส่วน
คือ กลุ่มที่นำขึ้นชั่ง กับ กลุ่มที่ไม่นำขึ้นชั่ง
ซึ่ง กลุ่มที่นำขึ้นชั่งนี้ จะมีจำนวนคู่หรือคี่ก็ได้ ไม่บังคับว่าต้องเป็นจำนวนคู่เหมือนการชั่งครั้งแรก
เพราะว่าตอนนี้(หลังจากการชั่งครั้งแรก) เรามีลูกบอลที่ทราบว่าเป็นลูกปกติมาช่วยในการชั่งแล้ว
(ช่วยทำให้ตาชั่งสองข้าง มีจำนวนลูกบอลเท่ากัน)

ผลลัพธ์จากการชั่งครั้งนี้ จะทำให้เราทราบว่า
ลูกบอลลูกใดเป็นลูกปกติอีกบ้าง
มีลูกผิดปกติที่ไม่ทราบว่าหนักหรือเบากว่าปกติปนอยู่ในกลุ่มที่ยังไม่ได้นำมาชั่ง (กรณีชั่งแล้วหนักเท่ากัน)
หรือ
อาจมีลูกหนักผิดปกติปนอยู่ในกลุ่มที่นำมาชั่งซีกที่หนักกว่า หรือ
อาจมีลูกเบาผิดปกติปนอยู่ในกลุ่มที่นำมาชั่งในซีกที่เบากว่า (กรณีชั่งแล้วตาชั่งเอียง)

ซึ่งผลลัพธ์ที่ได้มีรูปแบบเหมือนๆเดิม ทำให้เราสามารถใช้วิธีการเดิมในการชั่งครั้งถัดๆไป
เด็กโต(มีต่อ) (IP: NULL)

ความเห็นเพิ่มเติมที่ 2 1 ต.ค. 2543 (10:10)
(ต่อ)

ต่อไปจะหาจำนวนลูกบอลที่มากที่สุด(ชั่งโดยวิธีข้างบน) ที่สามารถชั่งได้ใน M ครั้ง เพื่อหาว่าลูกใดผิดปกติ และระบุได้ด้วยว่าผิดปกติอย่างไร(หนักหรือเบากว่าปกติ)

ให้
a(n) แทนจำนวนลูกบอลที่มากที่สุด (ซึ่งไม่ทราบเลยว่าลูกใดปกติหรือผิดปกติอย่างไร) ที่ชั่ง n ครั้ง
แล้วสามารถหาลูกผิดปกติและระบุได้ด้วยว่าผิดปกติอย่างไร โดยไม่มีลูกปกติให้ใช้เลย

b(n) แทนจำนวนลูกบอลที่มากที่สุด (ซึ่งไม่ทราบเลยว่าลูกใดปกติหรือผิดปกติ) ที่ชั่ง n ครั้ง
แล้วสามารถหาลูกผิดปกติและระบุได้ด้วยว่าผิดปกติอย่างไร โดยมีลูกปกติให้ใช้จำนวนหนึ่ง (ไม่รวมอยู่ในb(n))

c(n) แทนจำนวนลูกบอลที่มากที่สุด (ซึ่งไม่ทราบเลยว่าลูกใดปกติหรือผิดปกติอย่างไร แต่ทราบว่า
อาจมีลูกหนักผิดปกติอยู่ในกลุ่มหนึ่ง หรือมีลูกเบาผิดปกติปนอยู่ในอีกกลุ่มหนึ่ง โดยจำนวนลูกบอลทั้งสองกลุ่มนี้
รวมกันแล้วเท่ากับ c(n) ) ที่ชั่ง n ครั้งแล้วสามารถหาลูกผิดปกติและระบุได้ด้วยว่าผิดปกติอย่างไร
โดยมีลูกปกติให้ใช้จำนวนหนึ่ง (ไม่รวมอยู่ใน c(n))

หาค่า c(n) โดยพิจารณาแบบrecursive
จากวิธีการชั่งข้างต้น (ดูกรณี ก. ชั่งแล้วตาชั่งเอียง)
จะเห็นว่า การแบ่ง c(n) ชั่งด้วยวิธีข้างต้น (แบ่งเป็น 3 กลุ่ม : เอาออกจากตาชั่ง-สลับข้าง-ไม่ย้ายไปไหน )
ผลลัพธ์ที่ได้ทั้งสามแบบ จะมีคุณสมบัติเหมือนเดิมทุกประการ กล่าวคือ ชั่งแล้วจะทราบว่า
" อาจมีลูกหนักผิดปกติอยู่ในกลุ่มหนึ่ง หรือมีลูกเบาผิดปกติปนอยู่ในอีกกลุ่มหนึ่ง "
ซึ่งเราจะนำลูกบอลเหล่านี้ ไปชั่งด้วยวิธีเดิม ในการชั่ง n-1 ครั้งที่เหลือได้ ซึ่งเขียนเป็นความสัมพันธ์ได้ดังนี้
c(n) = c(n-1) + c(n-1) + c(n-1) = 3*c(n-1) = (3^n)*c(0)
เมื่อ c(0) คือ จำนวนลูกสูงสุดที่ชั่ง 0 ครั้ง แล้วสามารถหาลูกผิดปกติและระบุได้ด้วยว่าผิดปกติอย่างไร
เพราะเราทราบแน่แล้วว่า " อาจมีลูกหนักผิดปกติอยู่ในกลุ่มหนึ่ง หรือมีลูกเบาผิดปกติปนอยู่ในอีกกลุ่มหนึ่ง "
ฉะนั้น c(0) = 1
(เป็นไปได้สองแบบ คือ
- อาจมีลูกหนักผิดปกติอยู่ในกลุ่มที่มี 1 ลูก หรือ มีลูกเบาผิดปกติปนอยู่ในอีกกลุ่มหนึ่งซึ่งมี 0 ลูก
- อาจมีลูกหนักผิดปกติอยู่ในกลุ่มที่มี 0 ลูก หรือ มีลูกเบาผิดปกติปนอยู่ในอีกกลุ่มหนึ่งซึ่งมี 1 ลูก )
แทนค่า c(0)=1 ลงใน c(n)=(3^n)*c(0) จะได้
c(n) = 3^n


หาค่า b(n) โดยพิจารณาแบบrecursive
จากวิธีการชั่งข้างต้น (ดูกรณี ข. ชั่งแล้วตาชั่งสมดุล)
จะเห็นว่า การแบ่ง b(n) ชั่งด้วยวิธีข้างต้น (แบ่งเป็น 2 กลุ่ม : กลุ่มที่นำขึ้นชั่ง กับกลุ่มที่ไม่นำขึ้นชั่ง )
ผลลัพธ์ที่ได้จะมีสองแบบ แบบหนึ่งมีคุณสมบัติแบบb(n) อีกแบบหนึ่งมีคุณสมบัติแบบc(n)
ดังนั้นในการชั่ง n-1 ครั้งที่เหลือ จะชั่งด้วยวิธีใดนั้นต้องดูผลลัพธ์จากการชั่งของครั้งก่อนหน้าด้วย
และเราสามารถเขียนเป็นความสัมพันธ์ สำหรับ b(n) ได้ดังนี้
b(n) = b(n-1) + c(n-1) = b(n-1) + 3^(n-1) = b(0) + 1 + 3 + 9 + ... + 3^(n-1)

เมื่อ b(0) คือ จำนวนลูกสูงสุดที่ชั่ง 0 ครั้ง แล้วสามารถหาลูกผิดปกติและระบุได้ด้วยว่าผิดปกติอย่างไร
เพราะว่าเราไม่ทราบเลยว่า "ลูกที่ผิดปกตินั้นผิดปกติอย่างไร" จำนวนลูกสูงสุดที่ชั่งได้ 0 ครั้งจึงเท่ากับ 0 ลูก
แทนค่า b(0)=0 ลงใน b(n) = b(0) + 1 + 3 + 9 + ... + 3^(n-1) จะได้
b(n) = ((3^n)-1)/2 ; (จากผลบวกอนุกรมเรขาคณิต)

หาค่า a(n) โดยพิจารณาแบบrecursive
จากวิธีการชั่งข้างต้น (ดูการชั่งครั้งแรก)
ผลลัพธ์ที่ได้จะมีสองแบบ แบบหนึ่งมีคุณสมบัติแบบb(n) อีกแบบหนึ่งมีคุณสมบัติแบบc(n)
นั่นคือ เราสามารถเขียนความสัมพันธ์ สำหรับa(n) กับจำนวนลูกบอลในการชั่ง n-1 ครั้งที่เหลือ ได้ดังนี้
a(n) = b(n-1)+c(n-1)
เนื่องจาก c(n-1) คือจำนวนลูกบอลที่นำเอามาชั่งในครั้งแรก ซึ่งต้องเป็นจำนวนคู่ เพื่อที่จะแบ่งชั่งบนตาชั่ง
ได้เท่าๆกันทั้งสองข้าง แต่เพราะว่า c(n) ที่คำนวนได้ข้างต้น มีค่า c(n) = 3^n ซึ่งเป็นเลขคี่เสมอ
ดังนั้น เราจะต้องทำให้ c(n-1) เป็นจำนวนคู่ และเพราะว่าการชั่งครั้งแรกยังไม่มีลูกปกติให้ใช้
(เพราะว่ายังไม่ทราบว่าลูกใดปกติบ้าง) ดังนั้น จำนวนลูกบอลที่นำขึ้นชั่งครั้งแรกจึงเท่ากับ 3^(n-1)-1
จะได้ว่า
a(n) = b(n-1) + 3^(n-1)-1
. . . = (3^(n-1)-1)/2 + 3^(n-1)-1
. . . = (3^n-1)/2 -1
. . . = (3^n-3)/2

ดังนั้นจำนวนลูกบอลมากที่สุด ในการชั่ง M ครั้ง จึงเท่ากับ (3^M-3)/2 ___________###
เด็กโต(จบหนึ่งคำถาม) (IP: NULL)

ความเห็นเพิ่มเติมที่ 3 1 ต.ค. 2543 (10:10)
ต่อไปเป็นคำถามที่ว่า "...ถ้ามีลูกบอล N ลูก จะชั่งได้อย่างน้อยที่สุดกี่ครั้ง ? "
จากวิธีการชั่งข้างต้น ชั่ง M ครั้ง ใช้ได้กับลูกบอลมากที่สุด (3^M-3)/2 ลูก
นั่นคือ ลูกบอล N ลูกจะต้องน้อยกว่าหรือเท่ากับ (3^k-3)/2 ,เมื่อ คือ k จำนวนครั้งที่น้อยที่สุด
หรือเขียนเป็นอสมการได้ว่า
N <= (3^k-3)/2
2N+3 <= 3^k
log(2N+3) <= log(3^k)
log(2N+3) <= k(log(3))
k >= log(2N+3)/log(3)
ดังนั้น จำนวนครั้งที่น้อยที่สุด = จำนวนเต็มที่น้อยที่สุด ที่มากกว่าหรือเท่ากับ log(2N+3)/log(3) _____###
เด็กโต(จบอีกคำถาม) (IP: NULL)

ความเห็นเพิ่มเติมที่ 4 1 ต.ค. 2543 (10:10)
สำหรับคำถามลูกบอล 12 ลูก ขออนุ­าตขี้เกียจทำนะครับ :P
เพราะชั่งได้หลายแบบ (ขึ้นอยู่ว่าใครจะโยกย้าย สลับข้าง หรือใช้ลูกปกติ จำนวนเท่าใด)

แต่จะขอแสดงตัวอย่าง การชั่งลูกบอล (3^n-3)/2 ลูก โดยใช้ BigBaby Procedure ในการชั่ง สักหนึ่งตัวอย่าง
แต่ก่อนอื่น อยากให้ลอง หาวิธีชั่งลูกบอล 3^m ลูก เพื่อหาลูกที่ผิดปกติ ซึ่งเราทราบแน่แล้วว่า ลูกที่ผิดปกตินั้น
หนักกว่าลูกอื่น หรือ เบากว่าลูกอื่น อย่างใดอย่างหนึ่งแล้ว : )
เด็กโต (พักเหนื่อย) (IP: NULL)

ความเห็นเพิ่มเติมที่ 5 1 ต.ค. 2543 (10:10)
เริ่มนะครับ
ตัวอย่าง การชั่งลูกบอล (3^n-3)/2 ลูก
1) แบ่งลูกบอลออกเป็น ๓ กอง กองละเท่าๆกัน คือ กองละ ( 3^(n-1) - 1 )/2 ลูก
แล้วนำเอา สองกองมาชั่งเทียบกัน (เป็นการชั่งครั้งที่ ๑ )
- - - - > (2ก) ถ้า หนักไม่เท่ากัน ให้ใช้ Procedure BigBaby1(A,B,k)
- - - - - - - - เมื่อ A แทน ลูกบอล ( 3^(n-k) - 1 )/2 ลูก ที่อาจมีลูกหนักกว่าปนอยู่หนึ่งลูก
- - - - - - - - - - - B แทน ลูกบอล ( 3^(n-k) - 1 )/2 ลูก ที่อาจมีลูกเบากว่าปนอยู่หนึ่งลูก
- - - - - - - - - - - และให้ E1 แทน ลูกบอล 3^(n-k-1) ลูก ที่ไม่มีลูกผิดปกติปนอยู่เลย
- - - - - - - - - Procedure BigBaby1(A,B,k) นี้ จะทำการแบ่ง A เป็นสองส่วนคือ
- - - - - - - - - A1 = 3^(n-k-1) ลูก กับ A2 = ( 3^(n-k-1) - 1 )/2 ลูก
- - - - - - - - - และ แบ่ง B เป็น B1 = 3^(n-k-1) ลูก กับ B2 = ( 3^(n-k-1) - 1 )/2 ลูก
- - - - - - - - - จากนั้นก็นำไปชั่งครั้งที่ k+1 โดย ชั่ง A1B2 เทียบกับ A2E1
- - - - - - - - -
- - - - - - - - - นั่นคือ ในการชั่งครั้งที่สอง ( k =1)
- - - - - - - - - A1=3^(n-2), A2=(3^(n-2)-1)/2, B1=3^(n-2), B2=(3^(n-2)-1)/2, E1=3^(n-2) ลูก
- - - - - - - - - แล้วก็ ชั่ง A1B2 เทียบกับ A2E1
- - - - - - - - - - - - - > (3ก) ถ้า ทั้งสองข้างหนักเท่ากัน แสดงว่ามีลูกเบาปนอยู่ใน B1
- - - - - - - - - - - - - - - - - ก็จะกลายเป็นปั­หา การชั่ง n-2 ครั้งเพื่อหาลูกเบาใน 3^(n-2) ลูก ###
- - - - - - - - - - - - - > (3ข) ถ้า A1B2 หนักกว่า แสดงว่ามีลูกหนักปนอยู่ใน A1
- - - - - - - - - - - - - - - - - ก็จะกลายเป็นปั­หา การชั่ง n-2 ครั้งเพื่อหาลูกหนักใน 3^(n-2) ลูก ###
- - - - - - - - - - - - - > (3ค) ถ้าA2E1 หนักกว่า แสดงว่าอาจมีลูกหนักปนอยู่ใน A2 หรือ มีลูกเบาในB2
- - - - - - - - - - - - - - - - - ก็ให้กลับไปใช้ Procedure BigBaby1 อีก ###

- - - - > (2ข) ถ้า หนักเท่ากัน ให้ใช้ Procedure BigBaby2(C,k)
- - - - - - - - เมื่อ C แทน ลูกบอล ( 3^(n-k) - 1 )/2 ลูก ที่มีลูกผิดปกติปนอยู่หนึ่งลูก
- - - - - - - - - - และให้ E1 แทน ลูกบอล 3^(n-k-1) ลูก ที่ไม่มีลูกผิดปกติปนอยู่เลย
- - - - - - - - - Procedure BigBaby2(C,k) นี้ จะทำการแบ่ง C เป็นสองส่วนคือ
- - - - - - - - - C1 = 3^(n-k-1) ลูก กับ C2 = ( 3^(n-k-1) - 1 )/2 ลูก
- - - - - - - - - จากนั้นก็นำไปชั่งครั้งที่ k+1 โดย ชั่ง C1 เทียบกับ E1
- - - - - - - - -
- - - - - - - - - นั่นคือ ในการชั่งครั้งที่สอง ( k =1)
- - - - - - - - - จะชั่ง C1=3^(n-2) ลูก เทียบกับ E1=3^(n-2) ลูก
- - - - - - - - - - - - - > (3a) ถ้า ทั้งสองข้างหนักเท่ากัน แสดงว่า C2 มีลูกผิดปกติปนอยู่หนึ่งลูก
- - - - - - - - - - - - - - - - - ก็ให้กลับไปใช้ Procedure BigBaby2 อีก ###
- - - - - - - - - - - - - > (3b) ถ้า C1 หนักกว่า แสดงว่ามีลูกหนักปนอยู่ใน C1
- - - - - - - - - - - - - - - - - ก็จะกลายเป็นปั­หา การชั่ง n-2 ครั้งเพื่อหาลูกหนักใน 3^(n-2) ลูก ###
- - - - - - - - - - - - - > (3c) ถ้า C1 เบากว่า แสดงว่ามีลูกเบาปนอยู่ใน C1
- - - - - - - - - - - - - - - - - ก็จะกลายเป็นปั­หา การชั่ง n-2 ครั้งเพื่อหาลูกเบาใน 3^(n-2) ลูก ###

แล้วก็ทำซ้ำยังงี้ไปเรื่อยๆ ก็จะสามารถทำการชั่งลูกบอล (3^n - 3)/2 ลูก n ครั้งเพื่อหาลูกที่ผิดปกติ
และระบุว่าหนักหรือเบากว่าปกติได้



ด้วยวิธีการนี้ จาก
ก) วิธีการแบ่งชั่งครั้งที่หนึ่งและสอง
ข) Procedure BigBaby1 + วิธีการชั่งลูกบอล 3^m ลูก m ครั้ง เพื่อหาลูกที่หนัก(เบา)กว่าปกติ
ค) Procedure BigBaby2 + วิธีการชั่งลูกบอล 3^m ลูก m ครั้ง เพื่อหาลูกที่หนัก(เบา)กว่าปกติ
จะเห็นได้ชัดว่า ในการชั่ง n ครั้งเพื่อหาลูกที่ผิดปกติและระบุได้ด้วยว่าหนักหรือเบานั้น
ใช้ได้กับลูกบอลจำนวนสูงสุด ( 3^n - 3 )/2 ลูก
และถ้าหากเพิ่มลูกบอลไปอีกหนึ่งลูก กล่าวคือ เพิ่มเป็น ( 3^n - 3 )/2 +1 ลูก
เราก็สามารถทำได้โดยวิธีการเดิม โดยแยกเอาลูกบอล ( 3^n - 3 )/2 ลูกมาหาก่อน
ถ้าชั่งครบ n ครั้งแล้ว ไม่พบลูกผิดปกติใน ( 3^n - 3 )/2 ลูกนั้น แสดงว่า
ลูกที่เหลืออีกหนึ่งลูกผิดปกติ แต่ระบุไม่ได้ว่ามันผิดปกติอย่างไร
( แต่ถ้าหาพบในการชั่ง n ครั้ง ก็จะสามารถระบุได้)


สุดท้ายนี้ ขอขอบคุณที่ช่วยอ่านจนจบ :)
เด็กโต(ขอบคุณครับ) (IP: NULL)

ความเห็นเพิ่มเติมที่ 6 1 ต.ค. 2543 (10:10)
ขอแสดงความนับถือ คุณพี่เด็กโตค่ะ
เจ๋ง
หวาน (IP: NULL)

ความเห็นเพิ่มเติมที่ 7 1 ต.ค. 2543 (10:10)
อิอิ แตงกวาทำใส่ไว้ที่นี่อ่ะค่ะ
http://easybug.freeshell.org/stone.html
แ ต ง ก ว า * (IP: NULL)

ความเห็นเพิ่มเติมที่ 8 1 ต.ค. 2543 (10:10)
พี่เด็กโตสุดยอดของโลก
นุก Lover (IP: NULL)

ความเห็นเพิ่มเติมที่ 9 1 ต.ค. 2543 (10:10)
ปัญหาข้อนี้เป็นเรื่องเลขฐานสาม
ชั่ง 1 ครั้งบอกอะไรไม่ได้ คำตอบมี (3กำลัง1 - 3)หาร2 ได้ 0
ชั่ง 2 ครั้งแยกบอลได้จาก 1ใน3 เพราะคำตอบมี (3กำลัง2 -3) หาร2 ได้ 3
ชั่ง 3 ครั้งแยกได้ 1ใน 12 เพราะ (3กำลัง3 - 3) หาร 2 ได้ 12
ชั่ง 4 ครั้งแยกได้ 1 ใน 39...
ลอง12ลูกก่อน
ตั้งชื่อลูกบอล ชื่อเป็นเลขนะ เรียง 1 ถึง 12
ครั้งแรก 1 2 3 4 ข้างซ้าย 5 6 7 8 ข้างขวา
ครั้ง 2 1 2 5 9 ข้างซ้าย 3 6 10 11 ข้างขวา
ครั้ง 3 1 5 7 10 ข้างซ้าย 2 8 11 12 ข้างขวา
ผลการชั่ง ซ แปลว่า ซ้าย หนักกว่า ขวา
ผลการชั่ง ข แปลว่า ขวา หนักกว่า ซ้าย
ผลการชั่ง ก แปลว่า ซ้าย เท่ากับ ขวา
ถ้าผลการชั่งออกมาเป็น ซซซ แปลว่า 1 หนักกว่าลูกอื่น
ถ้าผลการชั่งออกมาเป็น ขขข แปลว่า 1 เบากว่าลูกอื่น
ถ้าผลการชั่งออกมาเป็น ซซก แปลว่า 6 เบากว่าลูกอื่น
ถ้าผลการชั่งออกมาเป็น ขขก แปลว่า 6 หนักกว่าลูกอื่น
อีก 10 ลูกลองไล่ดูก็แล้วกัน เชื่อว่านักคณิตศาสตร์ทั้งหลายคงเห็นคำตอบ

นิรันดร์ เก็บเข้า Contact List ส่ง vSMS
ร่วมแบ่งปันความรู้และความเห็นแล้ว 11420 ครั้ง - ได้รับดาวแล้ว 650 ดวง - โหวตเพิ่มดาว

ความเห็นเพิ่มเติมที่ 10 1 ต.ค. 2543 (10:10)
ครั้งแรกชั่งข้างละสามลูกก่อน
-ถ้าไม่เท่ากันก็เอาข้างหนึ่งออกแล้วเอาอีก3ลูกมาชั่งด้วย ถ้าไม่เท่าอีกก็เอาออกแล้วแบ่งออกเป็น2ลูกแล้วเอาลูกปกติ2ลูกมาชั่งด้วย ถ้าไม่เท่ากันอีกก็เอามาชั่งกับลูกปกติ1ลูกถ้าไม่เท่ากันก็ไอ้ลูกนั้นแหละ
-ถ้าเท่ากันก็เอาออกกลุ่มนึงแล้วทำเหมือนข้างบน

ฮี่ฮิฮี่ (IP: NULL)

ความเห็นเพิ่มเติมที่ 11 1 ต.ค. 2543 (10:10)
ปัญหานี้ผมขอตอบแค่ข้อแรกนะครับ โดยปัญหาข้อนี้ผมคิดได้4ครั้ง โดยเริ่มจากแบ่งลูกบอลเป็น4ชุด ชุดละ3ลูก ชั่งที่ละ2ชุดชั่งที่ละ2ชุดก็จะเท่ากับชั่ง2ครั้ง ถ้าคู่ไหนเท่ากันก็เอามา1ชุด เอาไว้ชั่งเทียบกับอีกคู่หนึ่ง ก็เท่ากับชั่ง3ครั้ง คราวนี้เราก็จะรู้ว่าชุดแตกต่างจากชุดอื่น และรู้ว่าชุดนั้นเบากว่าหรือหนักกว่า และคราวนี้ก็แบ่งเป๊น3ลูก และชั่งอีก1ครั้งก็จะรู้ว่าลูกไหนที่แตกต่าง และรู้ด้วยว่าลูกนั้นเบากว่าหรือหนักกว่า

สิทธิเสริม (IP: NULL)

ความเห็นเพิ่มเติมที่ 12 14 มี.ค. 2544 (12:54)
ชั่งเพียงครั้งเดียวเพื่อหาลูกที่แตกต่าง
แบ่งลูกบอลไปชั่งข้างละ 6 ลูก ก็จะรู้ว่าด้านใดหนักหรือเบากว่า (สมมติซ้ายหนักกว่า ตาชั่งก็จะเอียงที่ด้านซ้ายเสมอ)
หยิบบอลออกจากตาชั่งข้างละ 1 ลูก ถ้าตาชั่งยังเอียงอยู่ ก็แสดงว่าลูกที่แตกต่างยังอยู่บนตาชั่ง
ทำเช่นเดิมจนตาชั่งทั้งสองด้านหนักเท่ากันก็จะได้ลูกที่แตกต่าง
ชั่งครั้งที่ 2 เพื่อดูว่าลูกที่แตกต่างหนักหรือเบากว่าลูกอื่นๆ

rehposolihp (IP:202.183.168.202)

ความเห็นเพิ่มเติมที่ 13 30 พ.ค. 2544 (05:28)
คุณ rehposolihp
เสนอ idea ได้ น่าทึ่งมาก

แต่คิดว่าคงจะไม่ใช่ประเด็น
เพราัะทุกครั้งที่คุณเอาบอลออก มันก็คือการชั่งใหม่นั่นเอง

boy (IP:131.251.0.11)

ความเห็นเพิ่มเติมที่ 14 10 ต.ค. 2544 (20:39)
ผมชั่งได้ 3 ครั้งนะ ใครชั่งได้น้อยกวานี้ ขอนับถือนะ

เด็กน้อย (IP:202.133.140.164)

ความเห็นเพิ่มเติมที่ 16 11 ก.ค. 2548 (22:38)
อธิบายซะยืดยาวเชียะ แต่ก้อดีนะคับ
คนนิรนามสุดหล่อ (IP:202.133.159.188,,)

ความเห็นเพิ่มเติมที่ 17 15 ก.ค. 2548 (16:45)
คงมีคนชั่งได้น้อยกว่า 3 มั้ง
........... (IP:203.151.140.120,203.113.51.5,)

ความเห็นเพิ่มเติมที่ 18 12 ต.ค. 2548 (21:44)
ที่จริงแล้วโจทย์ข้อนี้ให้ชั่งได้ 3 ครั้งให้หาว่าลูกใหนที่ไม่เท่า และบอกได้ว่าหนักกว่าหรือเบากว่า ครับคนที่ชั่งได้ 3 ครั้งช่วยอธิบายทีครับ
Jackie (IP:203.188.59.63,unknown,)

ความเห็นเพิ่มเติมที่ 19 13 ต.ค. 2548 (16:02)
1.ถ้าลูกบอลหนักต่างกันจนสามารถแยกออกได้ด้วยมือก็ไม่ต้องชั่ง ก็น่าจะประหยัดเวลา
2.ทิ้งลงน้ำดูว่าลูกไหนจมลงจากระดับสมมุติมากกว่ากัน
3.หาแฟนพันธ์แท้เครื่องชั่งมาประชันการคัดแยก
ลูกชายชาวนา (IP:203.114.126.94,,)

ความเห็นเพิ่มเติมที่ 20 27 ต.ค. 2548 (21:12)
คำตอบอยู่ที่นี่แล้ว ลองมาดูกัน

สามารถ หาได้ด้วยว่าลูกไหน เบา หรือ หนัก แล้วก็ชั่งเพียง 3 ครั้งเอง

http://webboard.kmitnb.ac.th/viewtopic.php?t=194
ขอบคุณที่สร้างโจทย์ให้คิดสนุก (IP:203.146.104.35,unknown,)

หากจะโพสต์คำตอบสำหรับกระทู้ในห้องนี้ ล๊อกอินก่อนนะคะ
สมัครสมาชิก ฟรี ตลอดชีพ ที่ http://www.vcharkarn.com/my ค่ะ
วิชาการ.คอม

บทความแนะนำ

Blog แนะนำ

Hot Links

ขอบคุณผู้สนับสนุน

Google
 
ติดต่อลงโฆษณา :   คุณอันนา 081 4965363
สำนักงาน :   02 2015735
อีเมล์ :   
Copyright© 2000-2007, Vcharkarn.Com. All rights reserved.
คลิ๊กเพื่อดูสถิติ
รับรองและสนับสนุนโดย

สสวท.

มูลนิธิ พสวท.

พสวท.