Düşüncelerimi etkilememesi için daha önceki yanıtları okumadım. Eğer bire bir aynısı yazan olmuşsa sebebi budur.
Çözüm önerim şu şekilde;
1000 bardak var ve bunlardan birisi zehirli ise.
Sırasıyla öncelikle bardakları 500, 500 olarak sağ ve sol olarak ayırırım ve 2 köle ile birisini soldakilerden birer yudum, öteki ile de sağdakilerden birer yudum aldırım. Bir sonrası adımda 500, 500 olanları da 250, 250; 250, 250 tekrar 2'ye bölerim bu sefer de 4 köle ile aynı işlemi tekrarlarım. 125, (62, 63), 32, 16, 8, 4, 2 şeklinde ayırarak tekrar ederim. 1 saat sonunda ölen kölelerin kesişiminden tam olarak hangi bardağın zehirli olduğunu bulabilirim. Benim çözüm önerim Humming Code'dan etkilenerek yazıldı.
Eki Görüntüle 1225548
Hatta benzer mantık ile üzerindeki sayının 2'ye bölünebilenlerini 1 köle, 3'e bölünebilenleri bir köle, 5'e, 7'ye, 11'e diyerek asal sayılar ile aslında 10-15 kişi ile bile bulunabilir. Tam sayıyı hesaplamadım ancak bu şekilde daha az kişi ile yapılabilir gibi.