На информационном ресурсе применяются cookie-файлы. Оставаясь на сайте, вы подтверждаете свое согласие на их использование.
тема заезженная до предела, кто такой программист
http://lurkmore.to/Программист
http://lurkmore.to/Программист
ннп. Что то тема уползла, про тестовые задания к соискателям будем холиварить?
Задача: В некоторый нулевой момент времени в центре прямоугольной системы координат Oxyz находится бактерия. Через одну минуту она делится на 6 таких же бактерий, которые перемещаются в разные стороны на единицу длины параллельно одной из осей. Такое превращение происходит каждую минуту с каждой бактерией. Если в какой-то момент времени в одной точке окажется 2 бактерии или больше, они мгновенно взаимоуничтожаются. Сколько бактерий существует в момент времени 2000 минут, сразу после взаимоуничтожения в этот момент времени?
Скучная задачка.
Во-первых, похоже предполагается дискретное и мгновенное передвижение бактерий "в точку назначения"... отсюдова следует, что "взаимоуничтожаться" будет практически вся середина, по "квадратно-гнездовому" методу... соответственно, дабы сказать сколько точно останется, надо искать "период" взаимоуничтожения, смотреть кратность ему этих 2000минут и считать расположение "кластеров" в объеме... сдается мне, что получится шаг бактерий типа 4 и куб размером 2000/4 = 500шт от центра, повернутый вершинами по осям... соответственно что-то типа 707 в кубе...
Вот ежели они бегают "непрерывно", да ишо иногда меняют величину скорости, дабы не всегда встречаться посередине пути...
Во-первых, похоже предполагается дискретное и мгновенное передвижение бактерий "в точку назначения"... отсюдова следует, что "взаимоуничтожаться" будет практически вся середина, по "квадратно-гнездовому" методу... соответственно, дабы сказать сколько точно останется, надо искать "период" взаимоуничтожения, смотреть кратность ему этих 2000минут и считать расположение "кластеров" в объеме... сдается мне, что получится шаг бактерий типа 4 и куб размером 2000/4 = 500шт от центра, повернутый вершинами по осям... соответственно что-то типа 707 в кубе...
Вот ежели они бегают "непрерывно", да ишо иногда меняют величину скорости, дабы не всегда встречаться посередине пути...

Mad_Dollar
guru
tolstopuz
v.i.p.
врядли. В постановке автора даже программировать нечего...
Вот ещё задачка, типа "от Гугля":
Дано N спичечных коробков. Все в закрытом состоянии.
1. Открываем каждый второй коробок.
2. Открываем каждый третий коробок, и если он уже открыт - закрываем его.
3. Повторяем предыдущий пункт увеличивая шаг на 1. То есть каждый четвертый, пятый и т.д. до N.
Вопрос: Сколько коробков останется в открытом состоянии?
P.S. ежели вчё, то все наши решили качественно примерно за 15-25 минут... на рисование формулы от N ушло ещё минут 15...
P.P.S. Да, программить тут тоже нечего...
Задачка номер 2:
Дано 5 норок, пронумерованных от 1 до 5. В одной из норок прячется мышка. Кошка может за один ход проверить только одну норку. После(!) факта проверки мышка обязательно перемещается из своей норки в плюс-минус на одну норку (соседнюю). Нумерация норок НЕ замкнута.
Вопрос: какова последовательность проверки норок кошкой, которая ГАРАНТИРОВАННО ловит мышь за заданное число ходов. Кстати это сколько? Сколько вариантов решения?
Решившие самостоятельно обе задачи, могут писать в личку...
Вот ещё задачка, типа "от Гугля":
Дано N спичечных коробков. Все в закрытом состоянии.
1. Открываем каждый второй коробок.
2. Открываем каждый третий коробок, и если он уже открыт - закрываем его.
3. Повторяем предыдущий пункт увеличивая шаг на 1. То есть каждый четвертый, пятый и т.д. до N.
Вопрос: Сколько коробков останется в открытом состоянии?
P.S. ежели вчё, то все наши решили качественно примерно за 15-25 минут... на рисование формулы от N ушло ещё минут 15...

P.P.S. Да, программить тут тоже нечего...

Задачка номер 2:
Дано 5 норок, пронумерованных от 1 до 5. В одной из норок прячется мышка. Кошка может за один ход проверить только одну норку. После(!) факта проверки мышка обязательно перемещается из своей норки в плюс-минус на одну норку (соседнюю). Нумерация норок НЕ замкнута.
Вопрос: какова последовательность проверки норок кошкой, которая ГАРАНТИРОВАННО ловит мышь за заданное число ходов. Кстати это сколько? Сколько вариантов решения?
Решившие самостоятельно обе задачи, могут писать в личку...

Пока лучшие гуманитарии - программисты ищут решения, старая байка в темку:
Создали робота, который может самообучаться и поставили перед приемной комиссией. Задача 1: вскипятить чайник. Решение робота: наливаем в чайник воды, ставим на плиту и ждем когда закипит. Аплодисменты. Задача 2: чайник с водой на плите, надо вскипятить чайник. Решение 2: выливаем воду из чайника и сводим задачу к предыдущей.
Создали робота, который может самообучаться и поставили перед приемной комиссией. Задача 1: вскипятить чайник. Решение робота: наливаем в чайник воды, ставим на плиту и ждем когда закипит. Аплодисменты. Задача 2: чайник с водой на плите, надо вскипятить чайник. Решение 2: выливаем воду из чайника и сводим задачу к предыдущей.
Сейчас читают
Чемпионат России по футболу - 2007 и предсезонка.
457923
2211
Ценник на VIP-номера от Tele2
4408
40
Грибы-2011
460058
1000
Как-то поиск решений подзатянулся... что, "не выходит каменный цветок"? 
Вот и весь сказ про "офигительное развитие отрасли"... за работу программистом, соискатель доплачивать должен, а не зряплату "от 50" искать!

P.S. Кстати, этот "чудо-сайт" когда наконец-то допилят до рабочего состояния?!?

Вот и весь сказ про "офигительное развитие отрасли"... за работу программистом, соискатель доплачивать должен, а не зряплату "от 50" искать!

P.S. Кстати, этот "чудо-сайт" когда наконец-то допилят до рабочего состояния?!?
Может я конечно неправильно понял условия 2й задачи, но у меня получилось за 5 ходов, если начнет проверять норки с 1й до 5й последовательно. Может поймать и за меньшее число ходов, но это как повезет.Над первой надо на досуге подумать. А пока пора идти завтрак готовить.
типа сорри. мосх уже строение другой. без предоплаты не работает. штука баксов - либо решу проблему, либо докажу отстутствие решения. В самом крайнем случае устрою истерику и набью морду, но деньги не верну.
Пошел бы на стажировку к толстопузу конечно если бы позвал, но жизнь показывает невозможность этого . Так что пока планы долее скромные - УЦ Информатика Программирование Java.
Честно говоря - почему бы и не постажироваться. Главное при этом - не подпасть под обаяние личности. Не оказаться в ашраме секс-рабыней у гуру. Год послушничества и гаме овер.
Ответ неверен. Например Вы проверили норку номер 1, а мышка в этот момент была в норке номер 2. После факта проверки она спокойненько переместилась в норку номер1, а по Вашему алгоритму, проверяется норка номер 2... где её УЖЕ нет... Так будете проверять до бесконечности...
Это всё? Не густо, особливо ежели учесть сколько здесь "гуру" меня в чем только не обвинило...
Это всё? Не густо, особливо ежели учесть сколько здесь "гуру" меня в чем только не обвинило...
Ответ неверен. Например Вы проверили норку номер 1, а мышка в этот момент была в норке номер 2. После факта проверки она спокойненько переместилась в норку номер1, а по Вашему алгоритму, проверяется норка номер 2... где её УЖЕ нет... Так будете проверять до бесконечности...Хм. Да вы правы, этот тип логики мышки я исключил при расчетах т.к. основывался на природной логике мышей- держаться подальше от кошки.... Сегодня еще посижу по соображаю как время будет.
Это всё? Не густо, особливо ежели учесть сколько здесь "гуру" меня в чем только не обвинило...
Mad_Dollar
guru
Как-то поиск решений подзатянулся... что, "не выходит каменный цветок"?
Вот и весь сказ про "офигительное развитие отрасли"... за работу программистом, соискатель доплачивать должен, а не зряплату "от 50" искать!
------
А оно кроме вас кому-нибудь надо? Доказывать вам что-то - смысл? У меня даже академический интерес был отбит вашей фразой "ну как решите, недопрограммисты, так я соизволю вас на стажировку взять за еду". К сожалению, или к счастью, меня больше ценят на моем текущем месте работы
Вот и весь сказ про "офигительное развитие отрасли"... за работу программистом, соискатель доплачивать должен, а не зряплату "от 50" искать!
------
А оно кроме вас кому-нибудь надо? Доказывать вам что-то - смысл? У меня даже академический интерес был отбит вашей фразой "ну как решите, недопрограммисты, так я соизволю вас на стажировку взять за еду". К сожалению, или к счастью, меня больше ценят на моем текущем месте работы

Норки нумеруем слева на право.
Цапаем лапкой:
1 норка - 2 раза
2 норка - 4 раза
3 норка - 2 раза
4 норка - 2 раза
Итого 10 раз.
В пятую цапать не придется, так как мышку обязали прыгать.
PS Еще перепроверю, так как на работе и отвлекают, но в общем и целом где-то так )
Цапаем лапкой:
1 норка - 2 раза
2 норка - 4 раза
3 норка - 2 раза
4 норка - 2 раза
Итого 10 раз.
В пятую цапать не придется, так как мышку обязали прыгать.
PS Еще перепроверю, так как на работе и отвлекают, но в общем и целом где-то так )
Проверяем:
Мышка в норке номер 3. Первая проверка норки 1 - пусто. Переход в норку 2. Вторая проверка норки 1 - пусто. Переход в норку 1... далее - понятно.
Итого, ответ неверен.
Если до конце недели никто не решит - выложу подсказку...
Мышка в норке номер 3. Первая проверка норки 1 - пусто. Переход в норку 2. Вторая проверка норки 1 - пусто. Переход в норку 1... далее - понятно.

Итого, ответ неверен.
Если до конце недели никто не решит - выложу подсказку...

Хотя нет. Мое рассуждение неверно. Позже перепроверю ещё раз. Возможно это ещё одно решение... щас некогда.
Mad_Dollar
guru
Вы знаете что-то чего не знаю я?
Или к чему этот ваш намек "пока"?
Вообще в вашей задаче достаточно проверять по очереди вторую и четвертую лунку для того чтобы гарантированно поймать мышь
Или к чему этот ваш намек "пока"?

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

задача 2. ответ: ищем по номерам норок(цифра номер проверяемой норки) 2,2,4,4,4,3,3,2
В ответ на (раз цитатник не работает):
---------------------------
Норки нумеруем слева на право.
Цапаем лапкой:
1 норка - 2 раза
2 норка - 4 раза
3 норка - 2 раза
4 норка - 2 раза
Итого 10 раз.
----------------------------
Да. Это решение, но не оптимальное. Можно улучшить примерно в 2 раза.
---------------------------
Норки нумеруем слева на право.
Цапаем лапкой:
1 норка - 2 раза
2 норка - 4 раза
3 норка - 2 раза
4 норка - 2 раза
Итого 10 раз.
----------------------------
Да. Это решение, но не оптимальное. Можно улучшить примерно в 2 раза.

Ну почти... надо ещё раз проверять последнюю 2. И можно обойтись без перых 2х2...
Прикол задачи в краевых эффектах. Из норок 1 и 5 есть путь только обратно, поэтому их можно НЕ проверять совсем. Начинать можно сразу со второй или четвертой. Правильно, дважды.

Прикол задачи в краевых эффектах. Из норок 1 и 5 есть путь только обратно, поэтому их можно НЕ проверять совсем. Начинать можно сразу со второй или четвертой. Правильно, дважды.
Пасибки, тоже поржал. Первая задачка - это от собеседователей из Гугль. Время на решение - около 20мин.
Вторую мне недавно напомнили, я её раньше решал, давно правда... тоже примерно в похожую фирмешку, типа гугль... у Вас место всяко по престижнее будет.
Вторую мне недавно напомнили, я её раньше решал, давно правда... тоже примерно в похожую фирмешку, типа гугль... у Вас место всяко по престижнее будет.

tolstopuz
v.i.p.
"Вы знаете что-то чего не знаю я?"
----------------------------------------------------------- (цитатник так и НЕ работает)
Конечно. Даже больше и "по секрету": каждый чел. в этом мире знает что-то, чего Вы - гарантированно НЕ знаете...
Кстати, Ваш ответ - НЕ верен... (это первое, чего я знаю а Вы - нет
P.P.S. Нашел описание этой задачки на сайте "занимательных задачек для детишек до 12 лет"... народ там решал за 15 минут...
----------------------------------------------------------- (цитатник так и НЕ работает)
Конечно. Даже больше и "по секрету": каждый чел. в этом мире знает что-то, чего Вы - гарантированно НЕ знаете...

Кстати, Ваш ответ - НЕ верен... (это первое, чего я знаю а Вы - нет

P.P.S. Нашел описание этой задачки на сайте "занимательных задачек для детишек до 12 лет"... народ там решал за 15 минут...

всегда пожалуйста
знаю про эти задачи, знаю, что первая из гугля
во первых гугль не все, что есть, там всяких хватает, в чем-то хорош, а в чем-то..лучше не трогать, пусть его, впрочем как и всюду. Взять хотя бы Wel-аl, и его утверждение, что все должно проверяться тестами и т.п., с задачами справляется, так пусть хоть чем покрывает, хоть своей 5-ой точкой.
Во вторых всегда нужно отсеять лишних по любым признакам если кандидатов слишком много. В древнем китае для этого например были иероглифы, они специально не вводили более простую азбуку - читал какого ихнего высшего древнего уже чиновка, чтобы отсеивать желающих, китайцев уже давно много. На всех "вкусных" мест не хватает. Так, что все от задач. В новосибе не хватает спецов, мы тоже ищем, нема, и при этом так себя вести не совсем разумно, поскольку суживает выбор кандидатов причем не самым оптимальным образом. Если мона оптимизировать код, то почему нельзя оптимизировать отбор кандидатов
Про, то, что ЧР-ы все знают, не нуно, из другой оперы, но пример показателен. Сегодня, здесь, на другом подфоруме, девушка имеющая отношение к рекламе, не выяснял подробности, утверждала, орфографию т.п. сохранил - "ЦА-аудитория, на которую, в первую очередь, направлено рекламное обращение. ЦА — покупатели, потребители, потенциальные потребители или лица, способные оказать влияние на решение о покупке.", а дальше заявила - "целевая аудитория рекламы памперсов -дети. ", что вызывало - "представил как малышня годовалая ползет в аптеку строем, насмотревшись рекламы
гыыыы ".
Так, что рекламщики и такие бывают, как и ЧР-ы, как и все остальные.
зы. Громоке имя для меня только звук, а то уже были прецеденты, рассказывать букаф многа, не факт, что и эти-то осилят.




гыыыы ".
Так, что рекламщики и такие бывают, как и ЧР-ы, как и все остальные.

зы. Громоке имя для меня только звук, а то уже были прецеденты, рассказывать букаф многа, не факт, что и эти-то осилят.

Оно всё верно. Для меня тоже громкое имя ещё не говорит ни о чем. Уже писал, что в этой теме я отбора кандидатов - НЕ веду, а приведенные задачки, как раз и характерны для нормального программиста, пардон в современных терминах наверное архитектора. Первая - больше математическая на теорию чисел. В решении используется одно редкое, но интересное свойство натуральных чисел. Программирование - все-таки не гуманитарная дисциплина, а раздел математики. А вторая - чисто на логическое мышление. Ну как можно работать прогером при отсутствии такового? Разница в наших подходах к поиску кандидатов проста: Вы ищете профессиональных программистов в современном понимании этого термина (наличие хороших навыков быстрого кодирования и знание готовых инструментов), а мы готовы брать людей с требуемым складом мышления (навыки и знания дадим самостоятельно), потому что решать надо задачи, и далеко не все из них на сегодня вообще имеют решение...
Очень хорошо понимаю Ваши трудности: первых-то не хватает катастрофически...
P.S. Положим сам вторую задачку решил только интуитивно... чтобы не обидно было. Правильное решение для общего случая N-норок, нашел в инете.
Очень хорошо понимаю Ваши трудности: первых-то не хватает катастрофически...
P.S. Положим сам вторую задачку решил только интуитивно... чтобы не обидно было. Правильное решение для общего случая N-норок, нашел в инете.
Забавно. Некоторое время назад руководство попросило пособеседовать программистов на один "оголившийся" проект.
Довольно неглупые парни, волокут в веб-программировании, но на вопросы о рекурсии - отвечают уклончиво, о функциональном программировании, о ООП (а в проекте, на который искали человека - этого предостаточно) также затруднялись отвечать.
Довольно неглупые парни, волокут в веб-программировании, но на вопросы о рекурсии - отвечают уклончиво, о функциональном программировании, о ООП (а в проекте, на который искали человека - этого предостаточно) также затруднялись отвечать.
Mad_Dollar
guru
хорошо, вам я объясню на пальцах, если вы не поняли идею - с нечетного поля мышь всегда перемещается на четное.
поэтому имеет смысл сначала проверять только четные поля (их меньше).
И в большинстве случаев последовательность 2,2,4,4 даст вам мышь.
точнее есть только один сценарий при котором она не ловится _так_ - мышь изначально в третей норке и _знает_ как вы ее ловите, и на действительно случайных перемещениях и начальных положениях мыши последовательность 2,2,4,4,3,3,2,2 даст результат _раньше_.
---------------------------
Конечно. Даже больше и "по секрету": каждый чел. в этом мире знает что-то, чего Вы - гарантированно НЕ знаете...
---------------------------
Какой вы жеманный, я вас просил уточнить вашу фразу в том контексте, в котором она прозвучала. А то вы такой загадочный что страшно прям.
поэтому имеет смысл сначала проверять только четные поля (их меньше).
И в большинстве случаев последовательность 2,2,4,4 даст вам мышь.
точнее есть только один сценарий при котором она не ловится _так_ - мышь изначально в третей норке и _знает_ как вы ее ловите, и на действительно случайных перемещениях и начальных положениях мыши последовательность 2,2,4,4,3,3,2,2 даст результат _раньше_.
---------------------------
Конечно. Даже больше и "по секрету": каждый чел. в этом мире знает что-то, чего Вы - гарантированно НЕ знаете...
---------------------------
Какой вы жеманный, я вас просил уточнить вашу фразу в том контексте, в котором она прозвучала. А то вы такой загадочный что страшно прям.
tolstopuz
v.i.p.
Хорошо, давайте я Вам объясню "на пальцах":
По условиям задачи имеем:
1. норки не закольцованы, стало быть из крайних норок мышка может переместиться только обратно.
Поэтому проверять крайние норки можно проверяя соседние дважды (вторую и предпоследнюю). Это первый логический вывод, который Вы тоже сделали.
2. Мышка после проверки перемещается всегда на 1 шаг. Стало быть при двух перемещениях она всегда сохраняет четность номера норки. То есть после пары проверок она всегда в норке той четности же, в которой находилась изначально. Это два.
Это ключевой момент к построению АЛГОРИТМА, который получается простым "до безобразия":
Проверяем последовательно все норки со второй до предпоследней ПО ОЧЕРЕДИ. Поскольку начали с четных номеров, то при прямом проходе мышка ловится гарантировано, при условии её первоначального нахождения в четной норке. "проскочить" она может только если она изначально была в нечетной норке.
Начиная обратную проверку с тойже самой предпоследней норки (делая только один ход из пары) мы МЕНЯЕМ четность норок, в которых путешествует мышка парой ходов. Мы проверяем ту же самую норку, а мышка СМЕЩАЕТСЯ на одну... а стало быть при обратном последовательном движении она ловится ГАРАНТИРОВАНО и независимо от того "знает она алгоритм кошки или нет".
Итого, правильная последовательность: 2-3-4-4-3-2. Итого 6 шагов, а для N норок потребуется 2*(N-2) шагов.
Верных вариантов решения - тоже два. Можно начинать с меньшего номера, а можно с большего.
Проверять надо действительно дважды, но быстрее - не подряд... Виноват, но надо же было как-то поддержать думающих...
Вот как-то так. Выводы почему я написал "пока" - уж сделайте самостоятельно. Это тоже логические умозаключения... ничего лично против Вас конкретно - не имел ввиду, ежели вчё.
По условиям задачи имеем:
1. норки не закольцованы, стало быть из крайних норок мышка может переместиться только обратно.
Поэтому проверять крайние норки можно проверяя соседние дважды (вторую и предпоследнюю). Это первый логический вывод, который Вы тоже сделали.
2. Мышка после проверки перемещается всегда на 1 шаг. Стало быть при двух перемещениях она всегда сохраняет четность номера норки. То есть после пары проверок она всегда в норке той четности же, в которой находилась изначально. Это два.
Это ключевой момент к построению АЛГОРИТМА, который получается простым "до безобразия":
Проверяем последовательно все норки со второй до предпоследней ПО ОЧЕРЕДИ. Поскольку начали с четных номеров, то при прямом проходе мышка ловится гарантировано, при условии её первоначального нахождения в четной норке. "проскочить" она может только если она изначально была в нечетной норке.
Начиная обратную проверку с тойже самой предпоследней норки (делая только один ход из пары) мы МЕНЯЕМ четность норок, в которых путешествует мышка парой ходов. Мы проверяем ту же самую норку, а мышка СМЕЩАЕТСЯ на одну... а стало быть при обратном последовательном движении она ловится ГАРАНТИРОВАНО и независимо от того "знает она алгоритм кошки или нет".
Итого, правильная последовательность: 2-3-4-4-3-2. Итого 6 шагов, а для N норок потребуется 2*(N-2) шагов.
Верных вариантов решения - тоже два. Можно начинать с меньшего номера, а можно с большего.
Проверять надо действительно дважды, но быстрее - не подряд... Виноват, но надо же было как-то поддержать думающих...

Вот как-то так. Выводы почему я написал "пока" - уж сделайте самостоятельно. Это тоже логические умозаключения... ничего лично против Вас конкретно - не имел ввиду, ежели вчё.

На гуглевом сайте, сегодня показали ещё одну простенькую задачку: вакансия "программист - разработчик" кажется... на фото помещен кусок крышки канализационного люка и задан вопрос: "Почему крышка - круглая?"
Какие варианты?
Какие варианты?

-оптимальнее расход материалов на круглый колодец, круглому колодцу - круглая крышка
-круглая крышка перевернувшись не упадет в колодец
-так сложилось, да и не всюду, есть и квадратные, сам видел в европе той же
дальше думать лень.
А что касается задач, то действуя подобным образом вы найдете людей умеющих решать именно эти задачи, не факт, что другие, и тем более не факт, что найдете людей с нужным вам складом ума. Ум важнее знаний, изучит всегда можно и не особо сложно.
-круглая крышка перевернувшись не упадет в колодец
-так сложилось, да и не всюду, есть и квадратные, сам видел в европе той же

дальше думать лень.

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

Mad_Dollar
guru
Давайте я вам задам задачку:
Представьте, что вы стали участником игры, в которой вы находитесь перед тремя дверями. Ведущий, о котором известно, что он честен, поместил за одной из дверей автомобиль, а за двумя другими дверями – по козе. У вас нет никакой информации о том, что за какой дверью находится. Ведущий говорит вам: «Сначала вы должны выбрать одну из дверей. После этого я открою одну из оставшихся дверей, за которой находится коза. Затем я предложу вам изменить свой первоначальный выбор и выбрать оставшуюся закрытую дверь вместо той, которую вы выбрали вначале. Вы можете последовать моему совету и выбрать другую дверь, либо подтвердить свой первоначальный выбор. После этого я открою дверь, которую вы выбрали, и вы выиграете то, что находится за этой дверью.»
Вы выбираете дверь номер 3.
Ведущий открывает дверь номер 1 и показывает, что за ней находится коза.
Затем ведущий предлагает вам выбрать дверь номер 2.
Увеличатся ли ваши шансы выиграть автомобиль, если вы последуете его совету?
Задача старая, вспомните правильное решение, а потом с этой позиции посмотрите мое решение еще раз, рассчитав вероятность добывания мыши до 4-го хода, сравнивая с вероятностью нахождения мыши после четвертого хода в вашем решении
под спойлером подсказка
Сам эту задачу слышал много лет назад. Ответ в голову пришел где то через сутки сам собой
Теория вероятности и комбинаторика используются очень интенсивно в разработке многих алгоритмов (вся криптография, сжатие данных и тп). Тот же простейший quicksort - его "средняя" трудоемкость сильно меньше худшего случая http://en.wikipedia.org/wiki/Quicksort#Average_complexity - и это только самое простое.
P.S. Вам самому было бы приятно если за то, что вы не правильно решили задачу про колодцы, вас "обозвали" бы "гуманитарием" ?
2. Считаю, гражданин tolstopuz прав, что программист очень часто решает задачу не умозрительно, а тупо рисуя на клочке бумажки (или доске) объекты и взаимодействия. Если бы Вы попробовали порисовать решение, то очень быстро бы убедились, что мышка от Вас сбежала
Прилагаю "клочок бумажки"
X - кошка из Вашего решения
o - мышка
ось X - норки
ось Y - шаги
Правильное решение достаточно ловко "загоняет" мышку без дыр
ps а всё остальное - эмоции
Вот и предыдущее "решение" тоже не-решение:
Представьте, что вы стали участником игры, в которой вы находитесь перед тремя дверями. Ведущий, о котором известно, что он честен, поместил за одной из дверей автомобиль, а за двумя другими дверями – по козе. У вас нет никакой информации о том, что за какой дверью находится. Ведущий говорит вам: «Сначала вы должны выбрать одну из дверей. После этого я открою одну из оставшихся дверей, за которой находится коза. Затем я предложу вам изменить свой первоначальный выбор и выбрать оставшуюся закрытую дверь вместо той, которую вы выбрали вначале. Вы можете последовать моему совету и выбрать другую дверь, либо подтвердить свой первоначальный выбор. После этого я открою дверь, которую вы выбрали, и вы выиграете то, что находится за этой дверью.»
Вы выбираете дверь номер 3.
Ведущий открывает дверь номер 1 и показывает, что за ней находится коза.
Затем ведущий предлагает вам выбрать дверь номер 2.
Увеличатся ли ваши шансы выиграть автомобиль, если вы последуете его совету?
Задача старая, вспомните правильное решение, а потом с этой позиции посмотрите мое решение еще раз, рассчитав вероятность добывания мыши до 4-го хода, сравнивая с вероятностью нахождения мыши после четвертого хода в вашем решении

под спойлером подсказка

Показать спойлер
[code]
2-2-4-4
2-2-4-4
Mad_Dollar
guru
в спойлере ошибка - в итогах лишние нули перед девятками 

Вот! Я конечно не Гугль, и какой у них правильный ответ - не знаю. Но имея опыт директорства и кадрового набора и оптимизируя эту задачу, тоже составлял разные тестики...
сдается мне, что ход рассуждений следующий:
Дано: Вакансия "программист - разработчик" и вопрос "почему крышка - круглая?", да ещё и фотка
1. Чего должон делать прогер? вроде как писать прогу по ТЗ. То есть по возможности быстро и качественно писать то, что требуется, а не фантазировать (для этого другие вакансии есть)
2. Крышка, она не "сама по себе", она тоже результат "ТЗ", а именно производная от колодца. Был бы на фотке квадратный, вряд ли бы ТАК поставили вопрос, правда?
Отсюда, правильный ответ один: "потому что колодец такой."
Потому что не надо для круглого колодца (ТЗ) писать динамически подстраивающиеся в стиле ООП крышки (надувные например). Как-то так думаю...
сдается мне, что ход рассуждений следующий:
Дано: Вакансия "программист - разработчик" и вопрос "почему крышка - круглая?", да ещё и фотка
1. Чего должон делать прогер? вроде как писать прогу по ТЗ. То есть по возможности быстро и качественно писать то, что требуется, а не фантазировать (для этого другие вакансии есть)
2. Крышка, она не "сама по себе", она тоже результат "ТЗ", а именно производная от колодца. Был бы на фотке квадратный, вряд ли бы ТАК поставили вопрос, правда?
Отсюда, правильный ответ один: "потому что колодец такой."
Потому что не надо для круглого колодца (ТЗ) писать динамически подстраивающиеся в стиле ООП крышки (надувные например). Как-то так думаю...
tolstopuz
v.i.p.
Давайте на досуге посмотрю...
Вы можете сколь угодно долго оправдывать и обосновывать своё решение, но оно НЕ верное по условию задачи.
Я Вас немножко разачарую, но Вы - не программист вообще. Вы взялись решать задачу с т.з. теории вероятности, математики, но не со стороны ПОСТРОЕНИЯ АЛГОРИТМА... это самая главная ошибка в Вашем решении...
Вы можете сколь угодно долго оправдывать и обосновывать своё решение, но оно НЕ верное по условию задачи.
Я Вас немножко разачарую, но Вы - не программист вообще. Вы взялись решать задачу с т.з. теории вероятности, математики, но не со стороны ПОСТРОЕНИЯ АЛГОРИТМА... это самая главная ошибка в Вашем решении...
Задача на люки баян и не имеет единственного решения, также как и задачи типа посчитайте сколько в городе заправок.
Эта задача ставить целью посмотреть на рассуждения кандидата. Но мне такие абстрактные задачи не нравятся, т.к. они лишь показывают умение кандидата писать сочинение на заданную тему.
Эта задача ставить целью посмотреть на рассуждения кандидата. Но мне такие абстрактные задачи не нравятся, т.к. они лишь показывают умение кандидата писать сочинение на заданную тему.
Mad_Dollar
guru
Ваша задача дословно:
------------------------------------------------------------------
Задачка номер 2:
Дано 5 норок, пронумерованных от 1 до 5. В одной из норок прячется мышка. Кошка может за один ход проверить только одну норку. После(!) факта проверки мышка обязательно перемещается из своей норки в плюс-минус на одну норку (соседнюю). Нумерация норок НЕ замкнута.
Вопрос: какова последовательность проверки норок кошкой, которая ГАРАНТИРОВАННО ловит мышь за заданное число ходов. Кстати это сколько? Сколько вариантов решения?
------------------------------------------------------------------
Мое решение эту задачу решает. порядок проверки - 2-2-4-4-2-4-3-2. Доказательство почему именно так - выше. Мышь ловится гарантированно, максимальное количество ходов - 8. Лунок - пять. В условии нигде построения общего решения для случая N лунок не стояло (или я ослеп???)
И я бы воздержался на вашем месте от безаппеляционных оценок меня в покровительском тоне.
Кстати построение алгоритма - что вы имели ввиду под этой сакральной фразой?
2-2-4-4-2-4-3-2 - алгоритм (конечная последовательность действий, приводящая к требуемому результату - или у вас другое понятие алгоритма?) проверки 5 лунок, как я доказал вам выше - он ловит мышь, как я его строил понятно (все есть в решении), а если вам не трудно будет расписать свое решение так же как я свое - мы сможем сравнить, что из них быстрее на больших количествах таких проверок и насколько (считая квантом времени одну проверку любой норки или одно перемещение к другой норке).
И не вы ли там стонали что "ой что за копрокод пишут, неэффективные циклы, неэффективно по тактам, по памяти, по разным другим незаявленным ограничениям, которые как вам кажется должны знать все-все-все программисты" - вот вам пример конкретного эффективного алгоритма для конкретной ситуации в пять лунок и проблемы гарантированного доставания из лунки любого предмета, при условии что после проверки предмет гарантированно меняет местоположение на одну из соседних лунок.
Вы хотите сказать что мое решение не верное в ваших условиях задачи - докажите - я вам вас же процитировал чуть выше.
------------------------------------------------------------------
Задачка номер 2:
Дано 5 норок, пронумерованных от 1 до 5. В одной из норок прячется мышка. Кошка может за один ход проверить только одну норку. После(!) факта проверки мышка обязательно перемещается из своей норки в плюс-минус на одну норку (соседнюю). Нумерация норок НЕ замкнута.
Вопрос: какова последовательность проверки норок кошкой, которая ГАРАНТИРОВАННО ловит мышь за заданное число ходов. Кстати это сколько? Сколько вариантов решения?
------------------------------------------------------------------
Мое решение эту задачу решает. порядок проверки - 2-2-4-4-2-4-3-2. Доказательство почему именно так - выше. Мышь ловится гарантированно, максимальное количество ходов - 8. Лунок - пять. В условии нигде построения общего решения для случая N лунок не стояло (или я ослеп???)
И я бы воздержался на вашем месте от безаппеляционных оценок меня в покровительском тоне.
Кстати построение алгоритма - что вы имели ввиду под этой сакральной фразой?
2-2-4-4-2-4-3-2 - алгоритм (конечная последовательность действий, приводящая к требуемому результату - или у вас другое понятие алгоритма?) проверки 5 лунок, как я доказал вам выше - он ловит мышь, как я его строил понятно (все есть в решении), а если вам не трудно будет расписать свое решение так же как я свое - мы сможем сравнить, что из них быстрее на больших количествах таких проверок и насколько (считая квантом времени одну проверку любой норки или одно перемещение к другой норке).
И не вы ли там стонали что "ой что за копрокод пишут, неэффективные циклы, неэффективно по тактам, по памяти, по разным другим незаявленным ограничениям, которые как вам кажется должны знать все-все-все программисты" - вот вам пример конкретного эффективного алгоритма для конкретной ситуации в пять лунок и проблемы гарантированного доставания из лунки любого предмета, при условии что после проверки предмет гарантированно меняет местоположение на одну из соседних лунок.
Вы хотите сказать что мое решение не верное в ваших условиях задачи - докажите - я вам вас же процитировал чуть выше.
Задача на норки это все же задача по теории вероятности.
сдается мне, что ход рассуждений следующий... Крышка, она не "сама по себе", она тоже результат "ТЗ", а именно производная от колодца.Я думаю ответ не верен. Правильный ответ потому что круг это единственная простая форма которя не может провалиться "сама в себя", квадрат проваливается сам в себя по диагонали (правильный треугольник тоже не может провалиться - но треугольные крышки это слишком)
Сам эту задачу слышал много лет назад. Ответ в голову пришел где то через сутки сам собой

Я Вас немножко разачарую, но Вы - не программист вообще. Вы взялись решать задачу с т.з. теории вероятности, математики, но не со стороны ПОСТРОЕНИЯ АЛГОРИТМА.Ой как не красиво. Я Вас тоже немного разочарую но люди с таким самомнением и так легко навешивающие ярлыки другим - обычно не сильно умны. Особенно странно заявлять что математика и теория вероятности не должны быть отправной точкой построения алгоритма (это может быть верно для простых алгоритмов).
Теория вероятности и комбинаторика используются очень интенсивно в разработке многих алгоритмов (вся криптография, сжатие данных и тп). Тот же простейший quicksort - его "средняя" трудоемкость сильно меньше худшего случая http://en.wikipedia.org/wiki/Quicksort#Average_complexity - и это только самое простое.
P.S. Вам самому было бы приятно если за то, что вы не правильно решили задачу про колодцы, вас "обозвали" бы "гуманитарием" ?

олдж
experienced
Мое решение эту задачу решает. порядок проверки - 2-2-4-4-2-4-3-2. Доказательство почему именно так - выше.1. Снимаю шляпу, что Вы не поленились столько времени уделить решению.
2. Считаю, гражданин tolstopuz прав, что программист очень часто решает задачу не умозрительно, а тупо рисуя на клочке бумажки (или доске) объекты и взаимодействия. Если бы Вы попробовали порисовать решение, то очень быстро бы убедились, что мышка от Вас сбежала

X - кошка из Вашего решения
o - мышка
ось X - норки
ось Y - шаги
Правильное решение достаточно ловко "загоняет" мышку без дыр
ps а всё остальное - эмоции
Mad_Dollar
guru
ну значит не 2-4-3-2 - это не принципиально, здесь может быть разумно длинный хвост решения, на эту ситуацию отнесено 12,5% случаев.
Спасибо что потрудились прочитать - я без черновика писал, просто оформляя идею, все проверить и пересчитать было уже лень, ночь знаете-ли.
Основной смысл в том, что первая часть весьма вероятно "добывает" мышь при равновероятном изначальном распределении мышей во все пять лунок, и а значит при многократных ситуациях при неизменности правил смены мышиной дислокации это будет скорее всего быстрей, хотя что брать за единицу времени - намного большее время проверки при условии мгновенного перемещения лапы (быстрое позиционирование при долгом доступе) или мгновенная проверка при затратном по времени позиционировании лапы - результаты будут разные, но даже на вскидку без расчетов думаю они будут на большом количестве операции извлечения мыши из лунок лучше.
Поэтому изречение двух логических выводов с видом гуру и выведении элементарного уравнения - ну как-то не айс для подтверждения класса.
Спасибо что потрудились прочитать - я без черновика писал, просто оформляя идею, все проверить и пересчитать было уже лень, ночь знаете-ли.
Основной смысл в том, что первая часть весьма вероятно "добывает" мышь при равновероятном изначальном распределении мышей во все пять лунок, и а значит при многократных ситуациях при неизменности правил смены мышиной дислокации это будет скорее всего быстрей, хотя что брать за единицу времени - намного большее время проверки при условии мгновенного перемещения лапы (быстрое позиционирование при долгом доступе) или мгновенная проверка при затратном по времени позиционировании лапы - результаты будут разные, но даже на вскидку без расчетов думаю они будут на большом количестве операции извлечения мыши из лунок лучше.
Поэтому изречение двух логических выводов с видом гуру и выведении элементарного уравнения - ну как-то не айс для подтверждения класса.
олдж
experienced
ну значит не 2-4-3-2 - это не принципиально, здесь может быть разумно длинный хвост решения, на эту ситуацию отнесено 12,5% случаев.Ничего это не значит. Ваша первая часть тоже очевидный epic fail. Из-за кошкиного перескока (2-2 на 4-4) Вы теряете контроль и фактически возвращаетесь к начальным условиям. Порисуйте-таки, увидите. В этой задачке вероятности - как пальцем в небо. Мне сильно кажется, что загонять мышку с перескоком +-2 не получится, только инкремент и декремент.
Основной смысл в том, что первая часть весьма вероятно "добывает" мышь при равновероятном изначальном распределении мышей во все пять лунок, и а значит
Вот и предыдущее "решение" тоже не-решение:
Норки нумеруем слева на право.
Цапаем лапкой:
1 норка - 2 раза
2 норка - 4 раза
3 норка - 2 раза
4 норка - 2 раза
Итого 10 раз.
----------------------------
Да. Это решение, но не оптимальное. Можно улучшить примерно в 2 раза.
олдж
experienced
ну значит не 2-4-3-2 - это не принципиально, здесь может быть разумно длинный хвост решения, на эту ситуацию отнесено 12,5% случаев.в программировании это не случаи, а баги, авралы, нервы и депресняк

для N норок потребуется 2*(N-2) шагов
Вот любите вы пропускать краевые условия
n = 0. f(n) = -4. Затрудняюсь интерпретировать результат...
n = 1. f(n) = -2. Почему не 1?
n = 2. f(n) = 0. Да ну ее, мышь эту, даже не будем пробовать, все равно не поймаем?
Почему не 2?
И только начиная с N = 3 формула наконец-то начинает работать...
Вот любите вы пропускать краевые условия

n = 0. f(n) = -4. Затрудняюсь интерпретировать результат...
n = 1. f(n) = -2. Почему не 1?
n = 2. f(n) = 0. Да ну ее, мышь эту, даже не будем пробовать, все равно не поймаем?

И только начиная с N = 3 формула наконец-то начинает работать...
Толстопуз,
1 задача
2-3-4-4-3-2
2 задача
Число открытых ящиков No = N-floor(sqrt(N)), где N- общее число ящиков, floor - округление в меньшую сторону, sqrt - взятие квадратного корня. Тут остановлюсь подробнее. Ящик с любым номером будет открыт, если он не является квадратом какого-то числа. Почему? рассмотрим ящик с номером 6. состояние будет меняться при обработке каждого 2-го, 3-го 6-го. Если он сначала был закрыт, то в итоге будет открыт. 6/2=3, где 2 делитель, 3 частное. На "делитель" ящик открыли, на "частное" закрыли. Но если мы работаем с числом, у которого частное равно делителю, то операция смены состояния происходит четное число раз. Т.о. ящики с номерами, являющимся квадратом другого числа останутся закрытими, остальные будут открытыми. Если N=26, то закрытыми будут 1, 4, 9, 16, 25.
ЗЫ. Суммарное время решения обеих задач 30 минут, задачки интересные, спасибо
1 задача
2-3-4-4-3-2
2 задача
Число открытых ящиков No = N-floor(sqrt(N)), где N- общее число ящиков, floor - округление в меньшую сторону, sqrt - взятие квадратного корня. Тут остановлюсь подробнее. Ящик с любым номером будет открыт, если он не является квадратом какого-то числа. Почему? рассмотрим ящик с номером 6. состояние будет меняться при обработке каждого 2-го, 3-го 6-го. Если он сначала был закрыт, то в итоге будет открыт. 6/2=3, где 2 делитель, 3 частное. На "делитель" ящик открыли, на "частное" закрыли. Но если мы работаем с числом, у которого частное равно делителю, то операция смены состояния происходит четное число раз. Т.о. ящики с номерами, являющимся квадратом другого числа останутся закрытими, остальные будут открытыми. Если N=26, то закрытыми будут 1, 4, 9, 16, 25.
ЗЫ. Суммарное время решения обеих задач 30 минут, задачки интересные, спасибо

ТОП 5
1
2
4