Pull to refresh

Comments 28

Каждый день он увеличивает свой прогресс в данном задании вдвое.

В начале первого дня у него, естественно, 0%. За день он увеличивает прогресс вдвое. 0%×2=0%. И так далее.
Хорошая ловушка.
Никакой ловушки. Он увеличивает прогресс вдвое, за предыдущий день, поэтому брать надо достигнутый прогресс на конец дня. А вообще тут не важно сколько он сделал за день…

Ответ
Считать надо с конца:
18 дней: 100%
17 дней: 100% / 2 = 50%
16 дней: 50% / 2 = 25%
Ответ: 16 дней
Он увеличивает прогресс вдвое, за предыдущий день…

Именно так. Сколько он сделал за предыдущий первому? 0!
…поэтому брать надо достигнутый прогресс на конец дня.

Ага! Только этот фокус работает, если в первый день он сделал 100×2-18% всей работы. А этой информации в условии задачи нет.
А вообще тут не важно сколько он сделал за день…

Важно, с какой доли он начал. Если с нуля, то он никогда не кончит.
Именно так. Сколько он сделал за предыдущий первому? 0!

С чего вы это взяли? По условию задачи он все таки делал какую-то работу и делал он ее с двукратным приростом, так что в 18-ый день он полностью (100%) ее закончил.
Это (100%) опять же по условию задачи, ваш расчет (0%×2=0%) противоречит данному условию, оно бы никогда не выполнилось.

Важно, с какой доли он начал. Если с нуля, то он никогда не кончит.

Человеку дается задание...

Логично предположить что начал он его с 0 и в первый день сделал какую то часть работы.
Я не вижу здесь никакого подвоха…
Это (100%) опять же по условию задачи, ваш расчет (0%×2=0%) противоречит данному условию, оно бы никогда не выполнилось.

Вот именно. Противоречивое условие задачи. Или каждый день вдвое, или задача выполнена на 100%.
UFO just landed and posted this here
Убрать «каждый день».
С другой стороны, это же собеседование. Если испытуемый решил выпендриться, поговорить с ним. В том числе, попросить скорректировать условие задачи. Может быть он годится на что-то большее, чем «Чего изволите?».
UFO just landed and posted this here
Но про закономерность-то надо написать.
UFO just landed and posted this here
Здравствуйте! Давайте добавим такую оговорку про первый день, тогда условие задачи должно быть полным и не иметь противоречий:
Человеку дается задание. В первый день он выполняет некоторую часть задания. Каждый последующий день он увеличивает свой прогресс в данном задании вдвое. Если человек полностью выполняет задание за 18 дней, то сколько дней ему потребовалось, чтобы выполнить 25% задания?

Однако, в условии задачи сказано о том, что «человек полностью выполняет задание за 18 дней». Это значит, что все-таки такого случая, когда в первый день он выполнил 0% задания и каждый последующий день будет удваивать свой прогресс (0% х 2 = 0%) — быть не может.
UFO just landed and posted this here
Не будет, если сформулировать как-то так: выполнил за 18 дней, а за каждый предыдущий — в два раза меньше. Но тогда и задача исчезает.
UFO just landed and posted this here
1. Car Wheel Puzzle
Ответ
Меняя по очереди каждое колесо можно проехать 25000 миль.
Посчитать можно например так: полный ресурс всех пяти колес делим на износ всех колеса-мест, получаем сколько будет износ на колесо-месте и умножаем на износ одной шины.
(100000/80000)*20000=25000
100000/80000=1,25 — эти 0,25 это то превышение нормального износа, через сколько надо менять очередное колесо (20000*0,25=5000)
Какое-то замысловатое объяснение у меня получилось…
UFO just landed and posted this here
Всё равно 1,25. Одно колесо достигнет износа через 20000, остальные ещё через 5000. Надо всего лишь чтобы каждое колесо проехало 5000 в багажнике.
Все нормально получается хоть с 10 милями:
image
Желтым — колесо в запасе. К концу пути все колеса имеют 100% износ.
UFO just landed and posted this here
UFO just landed and posted this here
Нет, если проморгал, то максимум уже не получится. С другой стороны, если говорить о реальном мире, тогда вопрос: «Выйдет ли покрышка из строя проехав ровно свой ресурс?». Это риторический вопрос, предлагаю дальше не раздувать тему…
UFO just landed and posted this here
Что если менять колеса в два раза чаще? Решит ли это проблему водителя с пропуском очередной смены покрышек?

Это может уменьшить неоптимальность износа, все зависит от того, по какой причине он пропускает смену. Если у него, например, стоит какая то напоминалка и он одну из них пропустил, то минимизирует, а если он просто забыл, то это не поможет. Но если есть еще какой то запас, то после того как он вспомнил, он может скорректировать план по смене колес…
И можно еще придумать много если, и потом придумывать много сложных алгоритмов оптимизации, поэтому предлагаю лучше сделать все что бы не допустить такую забывчивость (а следовательно и не допустить усложнение кода, тестирование, потенциальные ошибки, трату ресурсов — мы же говорим о задачи для программиста). Сделаем напоминание и контроль за выполнением, а может и вообще сделаем замену колес за него.
P.S. Но это все таки уже другая задача…
UFO just landed and posted this here
Чувствую, я попал на собеседование… )
Нахождение алгоритмов задача программиста?

В том числе
задача найти алгоритм, с помощью которого можно корректировать поведение программы

Если ИИ знает какой ему предстоит путь и что он не сможет вовремя произвести замену, лучше сделать это заранее, тем самым он сможет скорректировать график замены позже, и «добить» недоезженный ресурс на более коротких отрезках пути.
По сути алгоритм тот же, необходимо тратить ресурс покрышек равномерно на всех, по очереди, период замены можно менять:
если не добили какой то из периодов и известно что потребуется проехать не больше чем этот остаток то:
добиваем этот период на тех же колесах, на которых недоездили тот период
в противном случае оставляем на потом и начинаем новый цикл:
до замены осталось = остаток ресурса покрышки с максимальном износом / 4
если произвели досрочную замену на первой итерации в цикле:
можно провести замены в цикле с той же периодичностью, что и эту
Таким образом недоезженные периоды будут все время уменьшаться, т.е. минимизироваться не оптимальный случай
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Sign up to leave a comment.