hitman249 писал(а):
1000 бутылок вина, 1 отравлена, 10 кроликовnesco писал(а):
Ну и определи тогда за сутки, когда бутылок 1000И в чем проблема?
N = 1000
I = log(2, 1000) ≈ 10
Под условие попадает. Вопрос: где я ошибся?
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
hitman249 писал(а): 1000 бутылок вина, 1 отравлена, 10 кроликовnesco писал(а): Ну и определи тогда за сутки, когда бутылок 1000И в чем проблема? N = 1000 I = log(2, 1000) ≈ 10 Под условие попадает. Вопрос: где я ошибся? |
|||
карма: 10 |
|
Разработчик
Ответов: 26148
Рейтинг: 2126
|
|||
Assasin писал(а): Вопрос: где я ошибся?Вот здесь Assasin писал(а): N = 2^I, N = 2^10 = 1024Возможно, я тебя не понял, и ты имел в виду то, что 10 -- это предельное количество кроликов. Но мне интересно твое решение со степенью 9-ть -- как ты определишь за 1 день номер бутылки из 1000, когда предельный номер будет 512 Assasin писал(а): и будет уже 512 бутылок, что нам не подходитВот, решение можно посмотреть Или опять я недопонял тебя, че ты мутишь |
|||
карма: 22 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
nesco писал(а): 10 -- это предельное количество кроликовВообще то 10 -- условие задачи, а не предел nesco писал(а): как ты определишь за 1 день номер бутылки из 1000, когда предельный номер будет 512Дык никак, но по условию то не 9 кроликов, а 10. |
|||
карма: 10 |
|
Разработчик
Ответов: 26148
Рейтинг: 2126
|
|||
Assasin писал(а): Вообще то 10 -- условие задачи, а не пределЭто и ежу ясно, но ему совсем непонятно -- какого черта ты наводишь тень на плетень, когда уже все решено, и всем все понятно |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Самое оптимальное решение (ИМХО)
На каждого кролика по 1000/10=100 бутылок. Из каждой сотни бутылок капаем по капле в одну посуду и даем выпить кролику. Через 1 день 1 кролик йок. Значит имеем 900 нормальных бутылок и 100 бутылок из которых одна с ядом и 9 кроликов. Одну бутылку отставляем в сторону. (100-1)/9=11 Капаем по капле из 11 бутылок в одну посуду и даем выпить. Если через 1 день все кролики живы, то яд в отставленной бутылке. Если кролик йок, то имеем 11 бутылок и 8 кроликов. Три бутылки отставляем в сторону. Даем каждому кролику пробовать. Через 1 день, если кролик йок, то получаем номер бутылки с ядом. Если все живы, то яд в одной из отставленныъ 3-х бутылках. Даём 3 кроликам по бутылке и через день имеем бутылку с ядом. |
|||
карма: 25 |
|
Разработчик
Ответов: 26148
Рейтинг: 2126
|
|||
Tad писал(а): Самое оптимальное решение (ИМХО)И сколько надо дней при твоем "отимальном решении" Заметь, что при использовании двоичного полинома нужен всего один день |
|||
карма: 22 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
Кажется, я понял, из-за чего сыр-бор, из-за вот этого утверждения:
г. 333 писал(а): Решение №2:code_26580.txt минимум 1 день: кроликов может погибнуть от 1 до 9Да, оно совершенно верное, но нужны все равно 10, но не 9 кроликов, это все равно что выкинуть из числа 101 нуль, и будет уже не 5-ая бутылка, а 3-я |
|||
карма: 10 |
|
Разработчик
Ответов: 26148
Рейтинг: 2126
|
|||
Assasin писал(а): Да, оно совершенно верноеЗаметь -- в случае, если счет ведется с единицы, если счет вести с нуля, то может не погибнуть ни один кролик. И все это из-за того, что все пытаются применить десятичную нумерацию к двоичному счислению |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
nesco писал(а): то может не погибнуть ни один кролик |
|||
карма: 25 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 11 раз(а), последний 2021-06-21 06:06:45 |
|||
карма: 0 |
|
Разработчик
Ответов: 26148
Рейтинг: 2126
|
|||
Tad писал(а): Вечный двигательНикаким боком ------------ Дoбавленo в 11.49: г. 333 писал(а): Тут главное не давать из одной бутылки (под любым номером) ни одному кролику. И если получиться что не один кролик не умер, то яд в этой оставленной бутылкеЯ вот однго не пойму -- че вы тут сидите и выдумываете. Или хотите расширить условие и ответить на вопрос -- а сколько эта задача имеет решений |
|||
карма: 22 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
Ура! Я понял тебя, nesco! Мы считали по разному: я - что нет бутыли 0, ты - что есть, но результата это не меняет. Разве что твой способ гуманнее к пушистому зверью
------------ Дoбавленo в 13.44: P.S: такая тривиальная задача, а вызвала такой резонанс! |
|||
карма: 10 |
|
Ответов: 3889
Рейтинг: 362
|
|||
Assasin писал(а): такая тривиальная задача, а вызвала такой резонанс!А сколько ещё вариаций при уточнении задачи, например, если кролик всего один и яд гарантированно работает ровно через 24 часа с погрешностью в +-n часов , то поим кролика каждые |n|*2 часа из новой бутылки, и так - тысячу раз. Номер бутылки получаем поделив остаток после вычитания первых 24-х часов на |n|*2. Естественно, распараллеливание задачи на десять кроликов ускоряет процесс, но минимальный срок всё равно 24 часа - |n| (модуль погрешности срабатывания яда). Максимальный - 24 часа + (1000 * 2 * n )/(число кроликов). Assasin писал(а): твой способ гуманнее к пушистому зверью |
|||
карма: 1 |
|
Разработчик
Ответов: 26148
Рейтинг: 2126
|
|||
Assasin писал(а): Разве что твой способ гуманнее к пушистому зверьюКак посты читаем, ХЗ nesco 20 Jan 2012 00:28 писал(а): Я беру отсчет с нуля, ты с единицы, но счет двоичных чисел начинается с нуля К тому же, отсчет с нуля более гуманный и дает шанс остаться всем кроликам живыми |
|||
карма: 22 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
[offtop]
nesco писал(а): Как посты читаем, ХЗЭээээ... ОК Ладно, фиг с ним, проехали [/offtop] |
|||
карма: 10 |
|