Поступаем вместе!

Меню

Облако тегов:

Ссылки:





           

Задача о бикфордовых шнурах

Это очень простая алгоритмическая задача. Ее иногда задают на собеседованиях в российских компаниях. Многие программисты не находят решения, хотя оно и достаточно тривиально. Конечно, на второе собеседование их уже не приглашают.

Задача:

Есть два разных бикфордовых шнура, каждый из которых сгорает ровно за час. У этих шнуров есть одно свойство: сгорают они неравномерно (то есть половина шнура необязательно сгорает за 30 минут).

Как при помощи этих шнуров и зажигалки отмерить 45 минут?

Для потенциально правильных ответов используйте тег {spoiler}{/spoiler}, заменив {} на [].

Скрытый текст: выделите для просмотра
Hello, world!

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

меня зовут шнур, меня зовут шнур

Скрытый текст: выделите для просмотра
мне кажется надо первый шнур запалить сразу с двух сторон и одновременно с ним второй шнур, но с одной стороны. Когда сгорит первый шнур (это будет через 30 минут), надо будет подпалить остаток второго шнура со второй негорящей стороны. Когда сгорит второй шнур (через 15 минут после сгорания первого) - прошло ровно 45 минут с начала колдовства ;)

.

)))

Скрытый текст: выделите для просмотра
либо
можно сложить первый шнурок в 2 раза и зажечь, он сгорит через 30 минут, сразу после этого зажечь вчетверо сложенный второй шнурок, который будет гореть 15 минут

Суть одна

Суть все равно одна...

Нет! Дело в том,

Нет!

Дело в том, что если шнур поджечь с середины, то он будет гореть неопределенное время (например, одна часть будет гореть 10 минут, вторая - 50). Потому, что по условию скорость горения не постоянная.

Скрытый текст:

Скрытый текст: выделите для просмотра
Кажется так: Поджигаем один шнур с обоих концов, а второй только с одного. когда сгорит первый шнур(пройдет 30 минут) поджигаем второй шнур с другого конца

одного шнура хватит

Скрытый текст: выделите для просмотра
мне кажентся нужно отметить половину шнура и поджечь его. когда догорит до отметки поджечь с другой стороны, вот, за 45 минут и сгорит.

Скрытый текст:

Скрытый текст: выделите для просмотра
1. поджечь концы первого шнура (30 мин);
после того как сгорит первый шнур
2. поджечь одновременно концы второго шнура
и его середину(15 мин);

Решение

Скрытый текст: выделите для просмотра
В первый момент времени:
Мы поджигаем один шнур с двух концов, когда огоньки встретяться, пройдет ровно 30 мин. (это может быть и не в середине)
И поджигаем второй шнур с одного конца. (Когда на первом шнуре огоньки встретятся, второй шнур прогорит ровно половину времени, т.е. 30 мин, и 30 мин останется)
Через 30 мин(они пройдут когда огоньки встретятся)
один шнур сгорит полностью, а второй прогорит на "половину" (НЕ ПО ДЛИНЕ, А ПО ВРЕМЕНИ)
и мы мгновенно его подожжем с негорящего края. Получае участо шнура горящий 30 минут, подожженный с обеих сторон.Огоньки встретятся через 15 минут.
Итого, в сумме, 45.

второй ответ

второй ответ вобще полный бред! условие нужно читать внимательно....

             
MOZG.by (C), 2007-2008 admin@mozg.by