Jump to content
Sign in to follow this  
preecha11th

ปัญหาไหยาพิษกับหนูทดลองจาก Google

Recommended Posts

มีไหอยู่ 1000 ไหซึ่งทุกใบบรรจุของเหลว

ในจำนวนนี้มีไหที่ยาพิษผสมอยู่ใบหนึ่ง

 

ถ้าต้องการหาไหที่มียาพิษ โดยให้หนูทดลองดื่มสารตัวอย่างของเหลวที่รินมาจากไหต่างๆ

โดยในการรินให้หนูกินครั้งหนึ่งจะใช้ของเหลวจากกี่ไหมาผสมกันก็ได้

 

ถามว่าต้องเตรียมหนูทดลองอย่างน้อยที่สุดกี่ตัว จึงจะรู้ได้ว่าไหไหนที่มียาพิษผสมอยู่

โดยมีเงื่อนไขว่าทำการทดลองได้เพียงครั้งเดียวเท่านั้น

Edited by preecha11th

Share this post


Link to post
Share on other sites

ใช้ 1 ตัว พอมันกินไหไหนแล้วตายก็ไหนั้นแหละครับ :)

Share this post


Link to post
Share on other sites

โทษทีครับ ลืมพิมพ์เงื่อนไขไปว่า ทำการทดลองได้เพียงครั้งเดียวเท่านั้น

คือจะต้องจับหนูกินของเหลวพร้อมกันทุกตัวในครั้งเดียว แล้วต้องบอกเลยว่าไหไหนคือไหที่มียาพิษ

Share this post


Link to post
Share on other sites

ถ้าหากต้องกินพร้อมๆกัน ก็ต้องใช้ 1,000 ตัว ถึงจะทราบครับ (คิดง่ายๆว่ามี 5 ไห กินพร้อมๆกันก็ต้องใช้ 5 ตัวถึงจะบอกได้)

 

จากคำถามเค้าน่าจะหมายถึงว่าให้ 1 ตัวกินได้ 1 ครั้งแล้ว หาครั้งต่อไปมากกว่านะครับ เพราะมีการให้ผสมในแต่ละไหได้ด้วยนะครับ

ถ้าเป็นแบบนั้นจะใช้ 10 ตัวครับ

ครั้งแรกก็ 1-500

ถ้ารอดก็ 501 - 750

ทำแบบนี้ไปเรื่อยๆ จะได้ 10 ครั้งครับผม

 

หรือ 2 กำลัง 10 ได้ 1024 ครับผม

  • Like 1

Share this post


Link to post
Share on other sites

ใช้ 999 ตัวหรือปร่าวครับ ถ้าไม่ตายก็ ใบสุดท้าย

Share this post


Link to post
Share on other sites

1 ตัวครับ เอาทุกไหมาเทรวมกันให้หมด จะเหลือไหที่มีของเหลวใบเดียวที่มียาพิษ

  • Like 1

Share this post


Link to post
Share on other sites

น้อยที่สุดคือใช้ 1 ตัว

ต้องฟลุคด้วยว่า ทานทีเดียวแล้วตายเลย ก็ใบนั้นแหละ

Share this post


Link to post
Share on other sites

ใบ้ให้ครับ ใช้เลขฐานสองครับ ใช้หนูระหว่าง 5-20 ตัว

Share this post


Link to post
Share on other sites

เหมือนเป็นหลักของ Checksum แต่ยังนึกวิธีดีๆไม่ออกที่ทำให้ลดจำนวนได้น้อยๆ

 

อย่างน้อยก็เป็น 100 ตัว

Share this post


Link to post
Share on other sites

โจทย์ตามนี้จริงๆใช่มั้ยครับ

Share this post


Link to post
Share on other sites

ใช่ครับ

 

(โจทย์ข้อนี้ทดสอบความรู้เรื่องเลขฐานสองครับ ไม่ใช่ binary search)

Share this post


Link to post
Share on other sites

หนู1ตัวชิมได้1ครั้งรึเปล่า แต่ไม่จำเป็นต้องชิมพร้อมกัน  

 

ถ้าแบ่งออกเป็น 2 ส่วน ส่วนแรกถังที่1-ถังที่500  กับส่วนที่สองถังที่501-ถังที่1000 ถ้าหนูทดลองกินส่วนแรกไปแล้วไม่ตาย จะนำมาทดลองต่ออีกได้รึเปล่า 

Share this post


Link to post
Share on other sites

แต่ละตัวชิมได้หนึ่งครั้ง และต้องชิมพร้อมกันหมดครับ

Share this post


Link to post
Share on other sites

คำตอบคือใช้หนู 10 ตัวครับ

วิธีการทดลองครั้งเดียว แล้วรู้ผลเลยคือ

 

ผสมของเหลวจากไหใบที่ 1,3,5,7,9,11,13,15,... ที่มี่เลขหลักหน่วย(เมื่อแปลงเป็นฐานสอง) เป็น 1 ให้ตัวแรกกิน

 

ผสมของเหลวจากไหใบที่ 2,3,6,7,10,11,14,15,... ที่มี่เลขหลักสิบ(เมื่อแปลงเป็นฐานสอง) เป็น 1 ให้ตัวที่สองกิน

 

ผสมของเหลวจากไหใบที่ 4,5,6,7,12,13,14,15,... ที่มี่เลขหลักร้อย(เมื่อแปลงเป็นฐานสอง) เป็น 1 ให้ตัวที่สามกิน

 

ใช้วิธีการผสมแบบเดียวกันนี้จนถึงตัวที่สิบ

 

แล้วดูผลลัพธ์ที่ได้ ถ้าหนูตัวที่ i ตาย แปลว่าไหที่มียาพิษเมื่อแปลงเป็นเลขฐานสอง แล้วจะมีหลักที่ i เป็น 1

แต่ถ้าไม่ตายแปลว่าหลักที่ i จะเป็น 0

 

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

Share this post


Link to post
Share on other sites

.

 

 

บ่องตง  เฉลยแล้วผมยังงงครับ 55555

 

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

Share this post


Link to post
Share on other sites

มันคือเอา Hamming Code มาเปลี่ยนคำพูด

Share this post


Link to post
Share on other sites

ดีนะที่เป็นแค่โจทย์ปัญหา ถ้ามีการทดลองแบบนี้จริง วิธีนี้จะทำให้มีหนูตายเกินจำเป็นไปมากเลยนะ  :lol:

Share this post


Link to post
Share on other sites

1 ตัว พอดีหนูที่บ้านฝึกมาดีวิ่งหายาพิษเลย

 

แต่ที่เข้ามาก็นึกว่ามีข่าววงในอะไรจาก google

Edited by Fericire

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×