@@pocemonspivom Многие отмечают гениальность его решений в плане производства и создания конвейера. Только умные люди были способны на такое. Форд набирал себе в команду таких людей, придумывая логические задачки.
@@Versus-64 То же самое можно сказать про каждого богатого и успешного человека, создателя гигантских империи. Илон Маск, Джефф Безос, Стив Джобс. Каждый из них по своему Гений и по своему Идиот. Даже в ваших решениях, действиях, словах можно найти крупицу Гения и крупицу Идиота)
Может стоило переформулировать задачу? Допустим так: поставщик привёз в одинаковых (брендированных) пакетиках соль и сахар. Какое минимальное количество чашек кофе (чая) сделает Зина прежде чем шеф получит свой напиток без соли.
В начале сказали что работает от друх,проблема в том что он не акцентировал внимание на этом.Нужно было сказать от двух заряженных батареек,вариант с одной заряженной не подойдет.
хаха - учителям математики не платят 300 тыс. и как правило на собеседованиях не задают задачи по математике ) (а если чел не знает, по какому принципу работают батарейки - пускай идёт просто пишет свои "иксы", "игрики" и "зэдки" на доске мелом за 4 500 р. в месяц , и не выё..)
Те, которые умничают про сопротивления, полярности и прочее - эта задача на логику. Это абстрактные условия. Все равно, что в задаче по метематике, где "автомобиль едет из города А в город Б со скоростью N..." начать доказывать, что на дорогах стоят ограничительные знаки, а еще водитель может пробить колесо и вообще повернуть не туда и поэтому время его пути изменится. Нужно понимать, кто и для чего задает тебе вопрос
Я полностью согласен с этим утверждением, но ием не менее условие не полное. Я например не представляю как можно утверждать, что в семье из 3 человек 6 рук. Есть много примеров, когда в подобных семьях и 5 и 4 руки. Да пример может не самый красивый и приличный. Но для понимания факта, что условия не полны подходит. Я вот остановил видео после оглашения условий и предположил, что в фонарике может быть последовательное и параллельное подключние, а в условии сказано только то, что для работы нужно 2 батарейки. Но вполне реален пример когда достаточно 2-х батареек, где только одна батарейка является заряженной. От этой идеи я ушёл, но не отказался полностью. Но мне просто повезло, что я остановился на варианте где 2 батарейки должны быть заряжены и ответ совпал. Но в условиях этого нет. Хотя вполне очевидно, что множество фонариков работают при только одной заряженной батарейки.
Если условие задачи не имеет достаточного количества ограничений для получения только 1го ответа - интервьюер должен быть готов засчитать другой верный ответ и не выебываться. Алгоритм, написанный с такими же условиями не будет работать в ряде случаев, как задумано, как раз из-за не полного описания, а значит программист был хреновый.
Задачу сформулировал идиот, который фонариком в жизни не пользовался. Но тем не менее. Свежая с севшей в паре включить фонарь смогут, ответ - 3. И если заказчик уже на собеседовании начнет валить всё на исполнителя, и "переобувать" условия, с собеседования лучше уйти. Ничего хорошего в такой компании не будет.
@@svinorez косо поставленные задачи имеют место быть в нашей профессии, и к сожалению очень часто, конкретно эта задача сформулирована косо, что тут обсуждать
Не попросят экономическую теорию сдавать, финансовый учёт, налогообложение... Видимо, на уборщика собеседование, ну или в банке реально в руководстве одни идиоты.
То есть менеджеру среднего звена в Альфа банке профильное образование и мало мальское понятие принципа работы банковской системы уже не в приоритете...Пора выводить из этого банка активы!
В знакомой среде реставраторов - в реставрационном колледже закрыли мастерскую. До этого, несколько лет назад, заменили уроки рисунка уроками правоведения. Реставратору не надо владеть рисунком и уметь работать руками в мастерской.
А вы пробовали хоть раз оформить карту для ребенка 16 лет в альфе? Не детскую, а именно полноценную, как по ГК велено? Ну так вот, на сайте банка написано что ребенку нужен паспорт, в горячей линии сидит долбанутый робот, который на любой вопрос про карту для несовершеннолетнего скидывает анекту родителю для детской карты(которая до 14 лет), и категорически не пускает к оператору, а в отделении банка нагло плюют на ГК и собственный же сайт и требуют присутствия родителя, для оформления полноценной карты для ребенка с паспортом. В общем - альфа банк обычный для РФ, с понтами и "собственными" правилами. Ну и менеджеры там сидят такие же.
Обожаю эти задачи, которые не имеют ничего общего с профессией человека. Я думал они уже изжили себя, но судя по всему, надмозги их еще пользуют. Разбирать надо рабочие кейсы, а не какую-то абстрактную х...ю. Когда мне работадатель давал подобные "задачки" на собеседовании, которые не относятся к занимаемой мной должности, я извинялся вставал и уходил.
ну при оценке кредитоспособности возможно используется что-то подобное - надо учитывать предикаты парами, и хотелось бы делать это побыстрее. С батарейками просто проще условие объяснить.
@@isqwerblyaЕщё раз повторю, если при трудоустройстве на работу, предоставляют к решению, не рабочий кейс, а что то подобное, надо уходить. Ибо это означает, что работодатель не понимает реального положения дел, на предлагаемой вам должности. А это, в свою очередь, говорит о том, что окружать вас будет не самый квалифицированный персонал. После трудоустройства это не критично, так как вы как специалист подошли на должность и работодателю нужно собирать статистику, для развития и коррекции вас и вашей работы.
В задании : "есть фонарь,который работает от двух батарей",цель : "за минимальное количество попыток гарантировать,что фонарь включится".Подбор батарей идёт отдельной темой.Первая мысль попытаться сразу включить фонарь,потому как он может быть уже с установленными заведомо исправными батарейками)).
Зная специфику работы в Банках, может оказаться что фонарь не исправен, а батарейки не заряжены абсолютно все, либо вообще мизинчиковые вместо пальчиковых. Но бизнесу нужно чтобы фонарь работал немедленно, и его ничего не волнует
Судя по комментариям, эта задачка используется на собеседовании не столько для проверки сообразительности претендента, сколько для оценки адекватности его самооценки и умения работать с неудачами)
Есть два алгоритма на семь ходов в одной группе и один алгоритм разделения на три группы в каждой из которых по 4 хода(что хорошо если рассматривать с точки зрения ООП)). Ну а вообще лучше не ломать голову , а взять тестер))
Ну какой тестер? В наш век нанотехнологий приборы на батарейках - это или очень узкоспециализированный продукт или мусор, пожирающий батарейки. В нормальных приборах стоит однобаночный литий, а в очень нормальных его еще и переполюсовать можно - прибор все равно заработает.
Допустим существует решение за 6. Нарисуем на плоскости батарейки точками (вершинами) и будем соединять пару точек отрезком (ребром), если в решении мы пробовали вставить эту пару батареек в фонарик. То есть мы получим граф, в котором всего 6 ребер. Рассмотрим наибольшую компоненту связанности графа (наибольший связанный кусок). Допустим эта компонента имеет ровно 4 вершины. Разделим наш граф на части: в правую часть отложим компоненту связанности из 4, в а левую часть другие 4 вершины. Между двумя частями графа нет ребер. Наш граф должен находить пару батареек для любого распределения заряженных. Рассмотрим случай когда 2 заряженных в компоненте связанности из четырех вершин, а другие 2 батарейки в другие четырех вершинах. То есть мы должны уметь найти 2 зардженных батарейки среди четырех, никак не используя другие 4, так как между двумя частями графа нет ребер. Чтобы найти две заряженных среди четырех необходимо сделать полный перебор. Полный граф на 4 вершины имеет 6 ребер. У нас в графе всего 6 ребер, значит, в левой части графа вообще нет ребер. Тогда мы не сможем найти 2 заряженных в случае когда одна заряженная будет в правой и 3 заряженных в левой части. Противоречие. Значит, в компоненте связанности не может быть 4 вершин. Если в одной компоненте связанности еще больше вершин, то ребер нужно тоже больше. Если в правой части (наибольшей связанной компоненте) 5 вершин, то там как минимум 4 ребра, иначе компонента не была бы связанной. Значит, в левой части не более двух ребер. То есть в левой части мы не сможем найти пару если две заряженных слева, а две заряженных справа. Значит, в правой части мы должны уметь находить пару, когда там только две заряженных. Для этого нужен полный перебор, то есть 10 ребер. Противоречие. Если в компоненте связанности 6. 7 или 8 вершин, то количество ребер в почти полном граф для них будет сильно больше 6. Таким образом, в графе наибольшая компонента связанности имеет три вершины. Тогда наш граф бьется на компоненты или 3, 3, 2 или 3, 2, 2, 1 или 3, 3, 1, 1- но это наши примеры на 7. Значит, на 6 примера не существует. ЧТД
Мне кажется, что графы не учитывают момент того, что мы можем исключать группы не проводя полный перебор. Вот моё решение за 6 операций. Для начала потребуется понять, что если среди 4х батареек: - есть минимум 2 рабочие, то за 4 операции гарантировано будет найдена рабочая пара (на 4ой операции фонарик точно загорится). - есть максимум только 1 рабочая, то за 4 операции мы убедимся, что это так. Т.е. на 4ой операции, если фонарик не загорелся, то значит это этот случай. Доказывать не буду, т.к. довольно очевидным мне это кажется. Легко проверяется. Соответственно продолжаем рассматривать второй случай, когда в первой четверке 0 или 1 рабочая батарейка. Тогда во второй четверке из 8 батареек должно быть 3-4 рабочих батарейки. Даже при только 3х рабочих за 2 операции мы находим рабочую пару. Итого: 4+2 = 6 операций.
То есть вы сначала выбираете разбиение батареек по парам, а потом выбираете, какие батарейки рабочие. В задаче же вы постоянно получаете новую информацию, исходя из которой выбираете новую пару батареек. Аналогично: если нужно на чашечных весах определить самую тяжёлую из трёх монет, то достаточно двух взвешиваний. Но в вашем решении вы сначала выбираете две пары монет для взвешивания (строите граф на два ребра и три вершины). В этом случае вершина степени 2 может оказаться самой лёгкой монетой, и определить самую тяжёлую не получится.
Хотя, мой пример сильно отличается, в нём поступающая информация является важной. Здесь же информации нет никакой, так что, наверно, ваше решение верно. Надо проверить его на других числах в условии.
И соответственно ещё один момент! Данная задача, на нестандартное мышление. Найти выход из создавшейся ситуации. В данной ситуации у нас 8(восемь) неизвестных, с которыми предстоит работать. И единственная поставленная задача - это "Угадать". То есть от познаний человека в данном случае ни чего не зависит. Тут догадливые пишут про вольтметр, но его нет, так что в данном случае для скорейшего выполнения, полагаться следует только на удачу. Тоесть, мы получаем банк в котором мы будем работать с неизвестными, угадывая их. И как сказали выше: "вставайте, и уходите от туда!" В штате всегда должны быть люди которые имеют исходные данные, и к которым можно обратиться для ускорения процесса. Выражаясь простым языком, у кого-то из них всё-таки есть вольтметр. Первоочередная задача начинающего менеджера - "вычислять исходные данные"! А не угадывать их!
На самом деле задача просто на оптимизацию поиска. И тут нету угадывания, тут создание алгоритма поиска решения. Её можно переформулировать и всё будет хорошо. Допустим так: поставщик привёз в одинаковых (брендированных) пакетиках соль и сахар. Какое минимальное количество чашек кофе (чая) сделает Зина прежде чем шеф получит свой напиток без соли.
@@alexlaziness и как всегда, в подобной задаче, всё складывается из того, что один сотрудник должен искать решение, в виду того, что другой сотрудник совершил ошибку(в данном случае поставщик сахара). И что мы можем из этого получить? 1. Трудолюбивая Зина найдет оптимальное решение. 2. Доставщик соли/сахара не будет наказан за халатность, и продолжит халатно выполнять работу, искусственно создавая проблемы другим. По тому что в итоге, кофе у начальника окажется сладким. 3. А организация несёт убытки из-за шести вскрытых пакетиков. Что нерационально. Эта задача хоть и похожа, но в ней изменено одно условие, и из-за этого ответ будет не 7(семь) а 6(шесть).
@@alexign Я вижу, как вы прочитав лишь половину написанного, сделали подобный вывод. А то что я написал ниже "что в контексте данной задачи, изначально ошибся кто-то другой, и вам надо исправлять его ошибку" вы не прочитали. Спасибо за наглядный пример экономии "своего" времени, человеком не желающим учиться. И кстати, в СССР в школе, учитель в первый день объяснял определенную тему, и лишь на второй день её спрашивал. Вот так проходило обучение! Не знаю как сейчас, с ваших слов выходит что обучение, это когда с человека спрашивают предварительно ничего ему не объяснив. Печально.
Это не полное решение задачи. Вы нашли способ, который позволяет найти нужную комбинацию за 7 проверок, но не доказали, что за 6 гарантированно найти такую комбинацию нельзя
Так вопрос сколько попыток, чтобы гарантировано включить. То есть надо найти алгоритм, который при любом расположении батареек сработает. А так можно с первой попытки, если наугад вытянуть 2 рабочие
Да, но всё ещё нет доказательства, что не существует алгоритма, который гарантированно включал за 6 попыток. Как и доказательства, что такого алгоритма не существует
Заряженые батарейки если их уронить с высоты в сантиметр или меньше плоской стороной на твёрдую поверхность - почти не подпрыгнут, а севшие - будут отскакивать и падать. Проверь так батарейки и поставь заряженые)
Если цель - устроиться на работу, то надо ответить интервьюеру: "я знаю, что вы хотите услышать число 7, но я также знаю, как решить эту задачу за 6 попыток". На вопрос "и как же" - отвечать, что узнаете, когда я вступлю на должность. Они точно не смогут спать спокойно после этого.
@@TTTttf4 , у вас было время подумать над этим ответом, а у HR этого времени не будет - он будут в ступоре на 99%, т.к. вы ему зададите новую задачу, на которую он не знает ответа, опасаясь, что он сам неправильно решил свою же задачу. Представьте работника конвейера по сборке автомобилей: человек расслабленно месяцами закручивает одну и ту же гайку, и тут ему приходит гайка не того типоразмера, а конвейер продолжает идти, и у него есть минута на решение проблемы. К тому же у них нет опции "принять кандидата сразу", потому что начальник дал ему задачу сначала прослушать всех. А пока кадровик пережидает бессонную ночь в холодном поту с карандашом в руке, склонясь над листом бумаги, утирая слёзы и ломая голову, у вас будет время придумать креативный ответ. Ведь всем известно, что на таких собеседованиях зачастую ждут не правильный ответ, а нестандартный подход к решению. Но после приема нужно быть готовым к тому, что с HR вы будете либо на ножах, либо станете друзьями. Нейтрально вас воспринимать уже не будут.
Если формализовать вопрос, то почему бы не прибегнуть к комбинаторике. Всего n = 8 батареек, 4 дают положительный исход. Их порядок не важен. Прикидываем сколько уникальных пар m=2 (сочетаний без учета порядка можно составить) C(m ) = n! / ((n-m)*m!) = 8! / ((8-2)!*2!) = (7 * 8) / 2 = 56/2= 28 таких пар Сколько положительных исходов из этих 28? Очевидно что из 4х батареек можно составить 6 уникальных работающих пар. F = 6 Какова вероятность из наугад составленной пары вытащить работающую за 1 попытку (k = 1) ? 6 / 28= 3/14 ~ = 0.21 Сколько попыток нужно, что вероятность положительного исхода P стала >= 1? p = 6/28 * K; 1 = 6 / 28 * k; Ну раз попытки целые, то надо 6 домножить на 5. Чтобы получить 30 / 28 > 1 Итого: сколько попыток = 5. Какой алгоритм? Без понятия, это для другой задачи)
нуу это означает только одно: если случайным образом перебирать пары батареек, то при заданных условиях с высокой вероятностью одна из 5 попыток окажется успешной. Но не гарантированно )
@@СвободныйМатематик И? Почему не 6 или 5? В "решении" просто показали, что за 7 сделать можно. Совершенно не ответив при этом на заданный в задаче вопрос. Вот если бы они доказали, что меньше, чем за 7, сделать нельзя, тогда это было бы решением.
@@Lotrick ну тоже верно Ну думаю в данном случае никак не доказать, что 7 минимум Разве что если заявить что 4 батарейки имеют 6 комбинаций А значит число попыток >6 Но можно ли это считать док-вом?
В вопросе стоит слово "гарантировать", то есть после X количества попыток фонарь должен загореться с вероятностью 100%. Зажечь его можно и с 1й и со 2й и с 3й и любой другой попытки с определённой вероятностью, но чтобы ГАРАНТИРОВАТЬ, что он загорится - нужно минимум 7 попыток. Ответ на вопрос корректен и верен, возьмите батарейки и фонарь и попробуйте, ваш фонарь загорится за
@@BERTOSONE Боюсь, вам больше не стоит заниматься математикой. Или логикой. В "решении" даже не стали пытаться доказывать (а именно это нужно сделать для решения задачи), что 7 это минимум, который гарантирует зажигание фонаря. Тут просто показали, что есть паттерн, при котором 7 попыток хватает. Но НЕ ДОКАЗАЛИ, что не существует паттерна, при котором хватило бы, к примеру, 6 попыток.
Условия задачи абсурдные, нужно обязательно уточнить что фонарь не будет работать только от одной заряженной(хотя такое бывает крайне редко, современные мощные фонари при наличии одной разряженной будут кое как светить на минималках). То есть нужно что бы именно две имели нужное напряжение. К слову, я сам решил похожим на ваш способ, только я бы разложил для начала все батарейки. И выбрал пару из центра, скажем 4,5 номер. Если всего 8 батареек и мы знаем что 4 из них разряженные, соответственно получаем не так много комбинаций с их расположением. Они могут идти: один через один, то есть, 1 заряжена, 2 не заряженна, 3 заряжена, 4 не заряжена и т.д. второй вариант: 2 заряжены, 2 разряжены, третий вариант: 4 заряжены, 4 разряжены, четвертый вариант, например 2 заряжены, 1 разряжена, 1 заряжена, и т.д В моем варианте когда я беру из центра пару 4,5, остается как раз две группы по 3 батарейки, начав с центра я в любом случае наткнуть на одну-две не рабочих(в каком порядке они не распологались бы, хуть 4 на 4, 2 на 2, или скажем 1 на 3 и т.д.) и методом исключения найду заряженные. В общем, мы с автором пришли почти к одному и тому же решению.
Проблема в том что сопративление разряженной батарейки не бесконечно, фактически через неё все равно будет протекать ток, по-этому фонарь все-таки загорится с первой попытки, к тому же ничего не сказано о том что батарейки вставленны полюсами последовательно, они могут стоять и паралельно, просто для увеличения емкости батарейного блока, в этом случае будет присутствовать небольшой переток на разряженную батарею, но фонарь зажжется.
Это классическая задача программиста или смежного профиля, когда в погоне за оптимизацией и автоматизацией, может пройти день или неделя или месяц, лишь бы не трогать трулайф) На таком количестве батареек, быстрее и проще начать перебирать, потратить на это минуту, чем искать сложное универсальное решение. Главная задача найти первую рабочую. Например, берем первую батарейку, начинаем вставлять 1+2-3-4-5 если хоть одна пара заработает, значит 1 была рабочая. Если повезет, то с первого круга найдутся все рабочие. Если этого не произошло, значит 1 нерабочая. Берем 2+3,4,5,6. Вероятность что 1 и 2 обе нерабочие маловероятна. В реальной жизни скорее всего 1 уже будет рабочей и все пары найдутся за 6 - 7 попыток. По крайней мере в реальной жизни, похожую задачу решал лично (коробка с батарейками от детских игрушек), все получилось как написано выше, работает 100%). Первая оказалось рабочей, дальше дело техники.
Вопрос перечитай. Сколько нужно сделать попыток, чтобы гарантировать, что фонарь включится. Как ты сможешь гарантировать, что он включится, если он не включится?
@@asderoookrook7002 Вопрос звучит так: какое минимальное кол-во попыток необходимо чтобы гарантировать, что фонарик включится. Ответ 6. Если попытаться его включить 6 раз с разным наборами батареек и он не включится, то можно гарантировать, что на 7й раз включится точно.
@@saddenness с такой же логикой можно сказать, что ответ 0, потому что он всё равно рано или поздно включится при полном переборе. Гарантировать, что он включится это и означает гарантировать, что он включится, то есть предоставить алгоритм действий, при которых он гарантированно включится
@@asderoookrook7002 нет, с такой же логикой как у вас, даже если видите кипящую воду нужно палец сунуть туда, чтобы понять, что она горячая. вот я 6 раз попробовал батарейки вставить в фонарь и он 6 раз не включился. и на руках остался фонарик и 2 батарейки. Чтобы понять, что обе батарейки заряжены не нужна 7я попытка. При верных исходных данных она избыточна. Смысл алгоритма не в том, чтобы включить фонарик. Смысл найти решение за минимальное кол-во итераций.
согласен, можно такую риторику как у вас применить, но вы не гарантируете, что он включится, ибо, возможно, что там на одну разряженную больше. То есть, пока вы не воткнули седьмой раз и не включили фонарь, вы не можете доказать свою гарантию. Но я согласен, что нужно было сменить формулировку вопроса для его однозначности - сколько раз нужно вставлять батарейки, чтобы фонарь зажёгся.
В куче может быть две разряженных попасться но не более двух раз подряд, либо могут попасться 4 варианта разряжен заряжен. Что в сумме даёт шесть неудачных попыток. Это максимальное количество неудачных попыток, соответственно 7я точно будет удачная. Я вот так пришёл к выводу. Даже без всяких ваших переборов и разделений на группы 😅
С финальной схемы многие вопросы остаются открытыми Банально нужно убедиться какая именно батарейка из пары полностью заряжена. Идеальным решением будет одна одной из остальных семи, И пользуясь оптимистичным сценарием Фонарь засветит в полную мощность с четвёртой попытки
Можно пойти купить 2 новые батарейки... А если уже работаешь в альфа банке то пусть клиенты принесут по 1 новой батарейке и им тогда будет кэшбек в 3 ℅ с условием кредита в 150℅ годовых
Сразу видно гуманитарий. С таким же успехом, если с утра у автомобиля колесо приспустило, то не нужно его подкачивать, можно просто купить новое с кешбеком
1. у меня обычно с собой мультиметр, просто померить вольтаж каждой, и выбросить плохие, в итоге будет 100% шанс 2. ошибка в задании. даже при одной разряженной фонарь может включиться. 3. более оптимальным решением будет в данном случае (при отсутствии мультиметра) простой перебор батареек, и не тратить кучу времени на высчитывание. 4. а откуда в жизни будет известно, что 4 из 8 не рабочие? кто то закинул нерабочие в коробку с рабочими? наказать тогда за такую халатность, и раз человек халатный тогда не верить что именно 4 не рабочие, ведь могут быть и 5.
1) разряженная батарейка без нагрузки(холостой ход), на тестере может показывать столько же вольт, сколько и заряженная. А при малейшей нагрузке проседает до нуля. Так что тестер не панацея. Если только закоротку не проверять именно на силу тока. 2)справедливо только для фонаря с лампой накаливания, коих давно нет в продаже. А светодиод от напряжения одной целой батареи не откроется. Вторая хоть на хх и даёт напругу, но при нагрузке теряет всю. Работать ничего не будет в современном фонаре. Особенно если ещё и драйвер СД нужно запустить.
Хорошая задача. Иногда такая сообразительность помогает решать сложные задачи всего лишь одной функцией в экселе например. А эксель - это наше все. Кто в теме тот оценит...
Правильный ответ на эту задачу должен быть "я не буду заниматься такой ерундой, т.к. при 8-и батарейках я быстрее их переберу в лоб, чем найду оптимум". Нормальный собеседующий прикинет, что этот человек не будет зря тратить деньги компании на разработку супер-пупер методики ради пары копеек в проде.
Если решать задачку как физик, то 2 попытки. Формально, фонарик включится, если в нём будет заряженной хотя бы одна батарейка. Если он не включается, то незаряженными оказались все 4 батарейки, вероятность этого низкая, но есть. Так что в этом случае меняем их все на заряженные.
Можно разбить и на 3 и 5. Первые три в худшем случае сообщают нам, что остались 2 разряженные батарейки. Если следующие две пары не зажигаются, значит последняя батарейка заряжена. Далее в худшем случаее еще 2 попытки, чтобы фонарь загорелся. Итого 7.
7 ходов Берём 4 батарейки, перебираем их, 5 ходов используем, приходим к выводу что 3 из них разряженные. Откладываем их. Потом берём остальные 4 батарейки, там одна будет разряженная. Что бы узнать какая, понадобится ещё 2 хода (сначала одну поменять, потом другую). В итоге, 7 ходов, и без неформальных разделений на странные группы
это не самое оптимизированное решение разделение такое же, но начинать нужно проверять группу с 2 батарейками, но макс ходов потребуется тоже 7 (если 1 2 1 лампочек в группах и мы не угадали с группой где 2)
Пробуем сначала первые четыре батарейки так: 1 и 2, 3 и 4. В худшем случае ни одна из попыток не включит фонарик. Т.е. либо все четыре батарейки не работают, либо в каждой паре по одной не рабочей, либо в одной паре одна нерабочая, а в другое обе. В случае четырех нерабочих, остальные четыре точно работают и всего понадобится 2 (предыдущие 4 батарейки) + 1 проверок. В случае, если были по одной рабочей и одной не рабочей, то в остальных четырех останется две рабочие и две нерабочие. Возьмем сначала две батарейки (+1 попытка), допустим одна работает а вторая нет (в других случаях либо фонарь включится сразу, либо при следующей попытке). Тогда проверив остальные две (4ая попытка) мы так же можем попасть в ситуацию, что одна рабочая, а вторая нет. Если про пятой попытке мы поменяем местами по одной батарейке между группами, то в любой из этих пар откажется либо две рабочих, либо две нерабочих батарейки. А это значит, что мы уже точно можем сказать, какая пара рабочая, исходя из того загорится фонарь или нет. Итого ответ 5 попыток нам точно скажут какие батарейки рабочие, а 6 попыток нас гарантировано зажгут фонарь 🎉
Ну, если это на руководителя тест, можно ответить на вопрос "Какое минимальное количество попыток вам необходимо, чтобы гарантировать то, что фонарь включится?" - 0. Из условия понятно, что из 8 батареек 4 рабочие, соответственно, рано или поздно, фонарь точно включится. Это я гарантирую)
Берем кусок провода длиннее чем длина батарейки, лампу прикладываем нижним контактом к плюсовому контакту батарейки, провод к минусу батарейки и лампе, если лампа горит на половину накала, значит батарейка хорошая. В худшем случае если мы сразу с первой попытки найдем хорошую батарейку, а далее 4 батарейки подряд будут разряженными, нам нужно 5 измерений произвести суммарно. На общих основаниях в Альфа банке делать нечего - эти задачи ни о чем не говорят применительно к работе.
6 попыток. Сначала разделяются на 4 пары. В кажой паре одна заряженная, другая нет. После 4х попыток берем произвольные 2 пары и меняем в них по одной батарейке. Получаем одну пару пустую, вторую щаряженную. Соотв. 5 и 6я попытки.
Если мы не угадаем и на 5ую попытку поменяем две одинаковые батарейки в двух парах, то нам это не даст никакой информации. Соответственно, 6-ач попытка может нам дать то, что мы поменяв снова одну из батареек в одной из пар получим не две заряженные, а наоборот. И тогда заключительная попытка будет строго 7-ая.
@@ence1adus А, ну да, верно. 5я замена нам даст только инфо, что мы поменяли местами либо обе заряженные, либо обе разряженные. На 6ю мы меняем еще раз и получаем пару полностю разряженных и на 7ю попытку да, мы берем пару заряженных.
Минимальное количество что бы фонарь загорелся- 1 попытка. Это либо 2 заряженные батарейки, ли бо заряд+разряд (загорится, но слабо), вероятность 2/3 что загорится. Если исходить из формулировки "какое количество попыток нужно что бы фонарь загорелся".
В реальности с 7-й попытки фонарь не засветит. Так как контакты у фонарика окислились или батарейки вставляли не ровно или перепутав полярность. Мораль: если от этого решения зависит твоя жизнь - всегда рассчитывай на форс-мажор.
Альтернативное решение основанное на понимании окружающего мира. Если уронить вертикально разряженную батарейку она отскочит на пару сантиметров. Заряженная стразу упадет набок. Таким образом максимум за 6 попыток мы определим рабочую пару ) Хотя с другой стороны попытка будет всего одна.
из условий задачи вытекает, что минимальное количество попыток равно двум: если с первой попытки взять наугад две батареи и они окажутся заряженными, а затем наугад из оставшихся шести батареек взять две наугад и они тоже окажутся заряженными.
Нужно максимум 5 попыток. Cогласно документации (Data Sheet) на батарейки напряжением севшей батарейки AA или AAA считают 0.9 - 0.8В. Т.е. в случае когда мы вставили одну севшую, а одну рабочую напряжение будет примерно 2.3-2.4 В. При таком напряжении светодиод будет светиться неярко, а значит мы можем определять случай, когда одна из двух вставленных батареек рабочая. Учитывая этот факт - достаточно 5 попыток, чтобы точно найти рабочую пару.
В случае когда одна батарейка может неярко светить, можно управиться за максимум 4 попытки, чтобы найти 100% 2 заряженные батарейки. Последовательность проверки: 1) 1 и 2 2) 1 и 3 3) 1 и 4 4) 1 и 5 (или 6, или 7, или 8) Варианты исхода: 1) 1 и 2 сразу ярко засветили, значит нам сразу повезло и мы использовали только 1 попытку. Батарейки 1 и 2 100% заряжены. 2) 1 и 2 неярко, 1 и 3 ярко, по тому же принципу попалась пара заряженных, но уже на 2-й попытке. Батарейки 1 и 3 100% заряжены. 3) 1 и 2 неярко, 1 и 3 неярко, 1 и 4 ярко, по тому же принципу попалась пара заряженных но уже на 3-й попытке. Батарейки 1 и 4 100% заряжены. 4) Пары 1 и 2, 1 и 3, 1 и 4 все светили неярко - соответственно 1-я батарейка заряжена а 2, 3, 4 разряжены. В остальных 5, 6, 7, 8 батарейках есть только одна разряженная батарейка так как другие 3 мы уже нашли. Проверяем 1-ю батарейку например с 5-ой, - если снова неярко, то делаем вывод что любая пара 1 и 6, 1 и 7, 1 и 8 будет 100% заряжена. В этом случае мы за 4 попытки нашли все заряженные батарейки) 5) Пары 1 и 2, 1 и 3, 1 и 4 все не светили - соответственно за 3 попытки мы нашли все 4 заряженные батарейки, ими будут 5, 6, 7, 8 - так как 1, 2 ,3, 4 - были полностью разряжены.
6 попыток: разбиваем на 2 группы по 4 батарейки 1) Проверяем две случайные из первой группы 2) Проверяем две случайные из второй группы Допустим в обоих случаях фонарик не загорается -> это означает, что среди проверенных 4 батареек есть как минимум две неисправные -> это означает, что среди непроверенных 4 батареек есть как минимум две исправные 3-6) Делаем еще 4 проверки для той группы из непроверенных 4 батареек Среди них точно будет две рабочие Итого: 6 попыток
Батарейки и практически проверить можно, 2ве в фонаре стоят, они рабочии, вынимаем 1ну, откладываем в сторону, и поочередно по 1й вставляем в фонарь, если повезет, то с 4х батареек фонарь зажгется 4ре раза, если худший вариант, то опять же фонарь не жажгется 4ре раза... ответ: 4 реза.
я гарантированно зажгу фонарик с первой попытки))) Батарейки, судя по надписи на них, являются аккумуляторами. Зарядить любые две попавшиеся, после чего зажечь фонарь. С первой попытки! )))
1) Проверяем 1, 2 - не работает 2) Проверяем 3, 4 - не работает Предположим, что 5 тоже нерабочая, тогда из оставшихся 6, 7, 8 - две рабочие 3) Проверяем 6, 7 - не работает 4) Проверяем 7, 8 - не работает 5) Проверяем 6, 8 - не работает Следовательно наше предположение неверно, и 5 является рабочей. Проверяем её с парой 1, 2, либо с парой 3, 4 в каждой из них точно по одной рабочей батарейке. 6) Проверяем 5, 1 - не работает 7) Проверяем 5, 2 - работает ИЛИ 6) Проверяем 5, 3 - не работает 7) Проверяем 5, 4 - работает
Можно объединить первые 2 способа! 2 группы по 2 и одна 4. Худший сценарий. Первая пара не зажглась, потом вторая пара не зажглась. Значит, в последних 4 есть по крайней мере 2 заряженные батарейки. А мы знаем, что нам нужно 4 действия, чтобы перебрать все пары в группе из 4. Ну, нам тут даже 3 нужно, потому что 2 оставшиеся будут заряженными
У меня свой вариант решения этой задачи. Если нам заранее известно что половина из них точно не работают, то нужно сначала подобрать две работающие, а после одну оставив в фонарике и перебрать с ней остальные. Так даже не надо будет перебирать все, можно остановиться когда найдётся четвёртая работающая. Но тут как повезёт.
Дано: фонарь который работает от двух батареек.(он уже работает и в нем две батарейки) поэтому с первой попытки я заставлю фонарь заработать! Поменяв одну из 8 батареек. Если тускло горит значит вставленная новая батарейка разряжена, если яркость осталась прежней, значит вставленная батарейка разряжена. Ответ: с одной попытки.
Можно за 6. Делим на две группы по 4. Пробуем: 1) 1 и 8 2) 2 и 7 3) 3 и 6 4) 4 и 5 Фонарь не горит - значит, батарейки могут располагаться лишь следующими порядками: 1, 2, 3, 4 - красные 5, 6, 7, 8 - зеленые (и наоборот) 1, 3, 5, 7 - красные 2, 4, 6, 8 - зеленые (и наоборот) 1, 2, 5, 6 - красные 3, 4, 7, 8 - зеленые (и наоборот) и вот тут моему гуманитарному мозгу не хватает синапсов додумать финал решения, но как-то там за два хода перекрестить так, что точно совпадут две зеленые, точно можно)))))
Ну что я могу сказать, задачу я решил, после чего пукнул так полужиденько, отсалютовал победу так сказать, удовольствие получил от того какой я умный, теперь можно пофапать и на боковую. рнн господин, ни дня в жизни не проработал.
в лесу на корпоративе эти знания очень пригодились в газпроме )) тогда я выиграл дом на мальдивах и вилу на сан тропе + бугатти )) а тут детский сад какой то ))
Фонарь загорится, если хотя бы одна батарейка будет работать. Вторая будет работать просто как проводник (грубо говоря, вместо неё можно проволку припаять)
Ну если говорить об Альфа-Банке тогда нужно задуматься об производительности, а это минимум 10-десятки миллионов задач за раз. Я думаю что 1 вариант с примитивным обходом с 1 по 8 батарейки а потом с 2 по 8 и так далее... будет работать быстрее чем постоянно переключаться с позиций как в ролике у Автора. Чем больше условий, сложений и тп... тем медленнее будет работать метод либо функция(Особенно при больших объёмов). Нужно задумываться не только о арифметической составляющей но, и учитывать возможности языка и технологий, ну и мощности клейстера-серверов. Это была задача по оптимизации ))).
Насколько я понимаю, примитивный подход, о котором вы говорите, будет иметь сложность O(n^2). А максимальное количество попыток в предложенном автором алгоритме 3n/4 + 1, то есть O(n). Вы уверены, что задумываясь о производительности следует выбирать более сложные алгоритмы (особенно при больших объёмах)?
@@КонстантинБратищев-з3п ))) В моём случае: 1. Цикл For () 2. Переменная A = 1 3. И всего два условия IF() в цикле For ___ Всё что потребуется при самом простом поиске нужных батареек. (Самый простой обход) Алгортитм (1-2, 1-3, 1-4, 1-5) и тп... далее A = 2 (2-3, 2-4, 2-5) и тп.... ------------------------------------------------------------------- Если брать второй способ )) По моему мнению код будет куда сложнее по операциям к железу(Серверу). Я соглашусь что второй способ по Арифметике может смотреться проще и куда оригинальнее и тп... ))), но мы же про (Оптимизацию). При больших объёмов это может сыграть роковую роль.
@@mitivil1134 А в чём сложность второго способоа по операциям к железу? (1-2, 1-3, 2-3, 4-5, 4-6, 5-6, 7-8, 7-9, 8-9 и т.д.) и да, ваш алгоритм - это O(n^2), что при больших числах НАМНОГО сильнее нагружает железо, чем O(n). При количестве батареек равному 100, ваш алгоритм переберёт более тысячи вариантов, а если брать "второй" способ, то только 76 Updated: У вас будет For и вложенный в него ещё один For
@@КонстантинБратищев-з3п Хммм🤔🤔.... Хотя да вы правы, признаю! Второй вариант более эффективен Updated: У первого варианта 1 цикл For(){} ------------------------ const array_battery = [0,1,0,0,1,0,1,1]; // Пример массив с батарейками (1-заряжен, 0-разряжен) const total_battery = array_battery.length; // Кол-во(8) батареек let a = 0; // Перебираем батарейки for(i = 1; i < total_battery; i++){ if ( array_battery[a] == 1 && array_battery[i] == 1 ){ return 'detected'; 🙂🙂 } if (total_battery - 1 == i) { a++; i = a; // Подстраиваем индекс-i } if (a > total_battery) { return 'not detected'; // Не обнаружено🙃🙃 } }
Смог придумать алгоритм на 7 попыток. А, это и есть ответ. Но в реальной ситуации правильно проверить группу из двух батареек первой, как мне кажется. При худшем раскладе это не сократит число ходов, но в ней без комбинаций.
Вспоминаем комбинаторику и считаем число позитивных и негативных сценариев по кол-ву комбинаций пар. Надо брать случайные пары. При повторных попытках брать любые новые батарейки. Уже ТРЕТЬЯ случайная проба даст успех, если проводить много экспериментов (один эксперимент не гарантирует ничего). Я не до конца уверен в своей формуле, но третья случайная выборка дает шанс около 66% на успех! Итого, если раздать фонарики с персональным набором батареек 100 людям, которые одновременно по шагам делают попытки и назначить призовой фонд за наименьшее число попыток, то более выгодная стратегия - рандомные пары.
@@bykaxagod597 И что? Есть условно ты, который действует по алгоритму в видео. А есть 100 людей рядом, которые действует рандомно. И предположим выигрывают только 50% людей, кто первым зажжёт. С первой, второй или третьей попытки, остальные попытки просто не состоятся из-за бессмысленности. При алгоритме из видео - ты точно проиграешь.
@@TVBOX-qd8hx давай заглянем глубже. Почему по твоему на собеседовании задают такую задачу? Что бы один из кандидатов назвал вариант, при котором у него шанс победить будет больше?)
@@bykaxagod597 Я знаю ответ, почему. Ты - нет. Ответ: потому, что из-за глуповатости собеседующих и публики, которая смотрит такие видосы, вам кажется, что в задаче есть какой-то смысл и мораль. В ней нет никакого математического смысла, логики, подхода, принципа и т.д. Решение заключается в поиске методом тыка разных алгоритмов. Собеседующий дурачок хочет проверить, сможет ли кандидат придумать 100500 разных алгоритмов? Ну, если это его цель - тогда ок. Но она туповатенька. Как и ведущий, который думает, что знает ответ, не почесался проверить МАТЕМАТИЧЕСКИ вероятность иных алгоритмов действий. Я вот не поленился. Мои 66% - не с потолка. Я не публикую формулу, ибо не до конца в ней уверен, чтобы не позориться с ошибками. Но эти 66% я посчитал. В отличии от вас всех. Я же смотрел комменты, ни у кого IQ не хватило посчитать по формуле. Хотя, кому я объясняю...
@@TVBOX-qd8hx Оо, моя любимая публика, побольше оскорблений и клише и чувствуешь себя на коне, верно?)) Ладно, раскрою секрет. Это задача для программистов. И в задаче ясно звучит условие "гарантировано" сработает. В твоём случае это работает в 66% случая. Тебе нужно приложение, которое будет работать в 66% случаев?)) В то же время, избыточное количество циклов это ресурсы. Если процессор будет совершать большее количество циклов, чем необходимо для 100% результата, то это перегрузит систему и твоё приложение будет тормозить. Фонарик и батарейки это самый упрощённый пример того, с чем этому программисту придется работать. Потому что в реальности процессы намного сложнее и никому даром не дались твои 66%)) За сим откланаяюсь, можете дальше раскрывать глубину своей личности, сыпя оскорблениями)
Включим логику! Если из 8 батареек неисправны 1,2,4,5. А исправны 3,6,7,8. То данным методом можно подобрать пару с 7-ой попытки. Как считают авторы данной задачи - "максимально быстро". Однако, если разделить батарейки по две, то в именно этом случае, который будет наихудшим, тоесть 7(седьмым), в случае по парам будет 4(четвертым). От сюда, в поисках лёгкого решения, получаем излишние затраты времени и сил.
Нужно пять попыток. Худший вариант - 4 пустых, за ними 4 полных. Берёшь первую, к ней пробуешь 4 соседних. Даже если среди этих пяти была одна полная - не парься о ней, потому что точно знаешь - все оставшиеся полные, бери из трёх две любых. Статистический анализ, теория случайной выборки без возврата элементов, второй курс экономического вуза, нулевые (Греф).
@@alekseylomako9450но это один частный случай. В таком случае, если на пятой попытке ты не получаешь результата - на шестой берёшь из твоей обоймы, тоже с гарантией.
@@alekseylomako9450у меня была схожая ситуация в пору моего сисадминства. Только не с батарейками, а с винчестерами. Пока винчестер не подключишь - невозможно узнать, он чист или с данными, потому оперировать большим их количеством - экстремальное занятие, скажу вам.
300к, это зарплата руководителя, а Руководитель решает эту задачу так: он подумает накануне о том, что предстоит и спланирует происходящее, включая фонарик с заряженными батареями. Руководитель тем и отличается он не плывет по течению он управляет ситуацией. Остальные идут за тестерам и занимаются перебором вариантов.
Вспоминаю этюды по программированию 40-летней давности, когда в распоряжении была только "Проминь-М" и надо было сичтать логарифмы, обходясь только тремя ячейками памяти... Сейчас все это уже никому не нужно и такие тесты никак не говорят, что сотрудник будет способен делать что-то по-настоящему полезное.
Стратегия попроще - заряженные и разряженные батарейки по разному отскакивают от твердой поверхности. Замеры показали, что севшие батарейки действительно отскакивают выше, чем неиспользованные, но процесс этот нелинеен.
Раз собеседование на 300К, значит вакансия - руководитель (по крайней мере в УрФО).. Итак:вариант 1. Одна попытка. Если после этой попытки ни чего не получилось, вызываю сотрудника, он разберётся, а у меня более важные задачи стоят... Вариант 2. Две попытки - первая неудачная, затем эти же батарейки долбим друг о друга для стимуляции заряда.. У меня это работало и с пультами ТВ и с фонариками (маленькими).Опосля вставляем и..да будет свет.. Вариант3. Три попытки. Если одна не заряженная, а следующая заряжена, цепь замкнется, да будет свет.. Да и вообще, разве собеседование в темноте проводится, что фонарь нужен?
Этим как раз занимаются математики :) И у тебя делом всей жизни может быть поиск вот такого способа, доказать, что возможное минимальное количество попыток 6. А следующее поколение будет биться над 5ю :) Конечно над более сложными задачами, в этой задаче всё просто и она решается комбинаторикой за весьма малое время, и всё же
Это несложно показать (что 6 не хватает). Достаточно посмотреть на задачу с точки зрения графов и рассмотреть несколько общих случаев: что 2 (по крайней мере) батарейки ни разу не остались проверены; что 1 батарейка ни разу не проверялась и ещё 2 по разу (тут 2 подслучая: что эта разовая проверка была проверкой их друг с другом, либо с другими батарейками) ; и что 4 (по крайней мере) батарейки были проверены лишь по разу (тут 3 подслучая: что что все они проверялись друг с другом, что две друг с другом и две с другими, и что все 4 этих батарейки проверялись вместе с другими). Предлагаю самостоятельно понять, почему любое множество из 6 проверок обязательно попадёт под один из этих случаев, и как для каждого из них предлагается "раскраска" батареек без рассмотрения конкретных вариантов
*Решение на 6 ходов * Всегда проверяем следующим образом: 1) 1, 2 2) 2, 3 3) 4, 5 4) 5, 6 В каждом из них получаем отрицательный результат. Всего комбинаций, когда такое случится - 17: 01. ННН, РНР, РР 02. РНР, ННН, РР 03. ННР, ННР, РР 04. ННР, НРН, РР 05. ННР, РНН, РР 06. НРН, ННР, РР 07. НРН, НРН, РР 08. НРН, РНН, РР 09. РНН, ННР, РР 10. РНН, НРН, РР 11. РНН, РНН, РР 12. РНР, ННР, НР 13. РНР, ННР, РН 14. РНР, НРН, НР 15. РНР, НРН, РН 16. РНР, РНН, НР 17. РНР, РНН, РН В случаях с 1 по 11 мы на пятой проверке (позиции №7 и №8) находим две работающие батарейки В случаях с 12 по 17, проверяя позиции №7 и №8, получаем на пятой проверке отрицательный результат. А значит, нам остаётся на шестой проверке взять позиции №1 и №3, которые во всех шести случаях окажутся рабочими. Чем я занимаюсь в 3 ночи? Ужас =)))
Согласен. Упустил ещё вариации. Либо просто: почему в 12-17 вариантах после 7 и 8 я проверяю 1 и 3, а не 4 и 6? По результатам первичной проверки они равнозначны, значит могут стоять и наоборот. Всё равно кажется, что можно докрутить до 6 ходов. Либо надо доказывать, почему 6 не бывает :)
Возьмём произвольно две группы батареек. 1- рабочая, 0 - не рабочая. Вариант #1 A-1lB-1lC-0lD-0 E-0lF-0lG-1lH-1 Проаеряем крайнее правые (1) D-0 и H-1 = 0 Сдвигаем Нижний ряд в право. A-1lB-1lC-0lD-0 H-1lF-0lG-1lE-0 Проверяем крайние правые (2) D-0 и E-0 =0 Проверяем крайние левые (3) A-1 и H-1 =1 Итог 3 попытки Вариант #2 A-0lB-1lC-1lD-0 E-1lF-0lG-0lH-1 Проверяем крайние правые (1) D-0 и H-1 =0 Сдвигаем в право нижний ряд A-0lB-1lC-1lD-0 H-1lE-1lF-0lG-0 Проверяем крайние правые (2) D-0 и G-1 =0 Проверяем крайние левые (3) H-1 и A-0 =0 Понимаем что у нас может быть две ситуации изначальной комбинации (можете сами проверить, расписывать долго): 1. A-0lB-1lC-1lD-0 E-1lF-0lG-0lH-1 2. A-0lB-0lC-0lD-0 E-1lF-1lG-1lH-1 Возвращаем манипуляции назад. Проаеряем два средних в верхнем ряду (4) Если ситуация 1, то: B-1 и C-1 =1 Итог: 4 попытки Если ситуация 2, то: B-0 и C-0, а значит все нижнии рабочие. Итог 4 попытки, если не считать, что 5 вы точно зажгете фонарь. Вариант #3 A-0lB-0lC-0lD-0 E-1lF-1lG-1lH-1 Проверяем правые батарейки (1) D-0 и H-1 =0 Сдвигаем батарейки в право. Проаеряем правые, проверяем левые, (3) и мы снова в варианте #2
1-2,3-4,5-6 а это значит, что 7 и 8 либо рабочие обе либо одна. 7-1,7-2 проверяем 7 с первой парой (первая пара может быть нерабочая) 8-3,8-4 проверяем 8 со второй парой, что точно покрывает все случаи. Вот вам и алгоритм, с делением на пары и капелькой логики.
Эммм, как бы проверить заряд батарейки можно просто слега приподняв батарейку на полсантиметра и отпустить. Пустой заряд батареи - приведет к ее падению. Заряженная батарейка будет более устойчивой и скорее всего удержится и падения не произойдет.
Можно поделить на пары, и если ни одна из пар не сработала, взять две любые пары и поменять в них местами по одной батарейке. Тогда получится одна пара с нерабочими и одна с рабочими. Далее за 2 раза понять какая пара рабочая. В итоге 6 ходов(4 хода на проверку изначальных четырех пар + два хода на проверку после обмена батарее между любыми двумя парами).
Минимальное количество попыток - 1. Вы сразу можете наткнуться на "заряженные батарейки". Если вы, конечно, вообще понимаете, о чем говорите. Потому что заряжаются только аккумуляторы, не батарейки.
Естественно не только одна батарейка, их две, в фонарике. Одна батарейка разряженная, а вторая батарейка нулевая. Не нужно мне писать, мол фонарь на две батареи не может работать с одной разряженной батарейкой. Не умничайте, будете выглядеть глупо!
Понятно дело что , имеется в виду не разряженная батарея, а не исправная, потому как хорошая батарея плюс разряженная зажжет лампу, только тускло. Отбросим это. Но 8 попыток и 7 "огромная" разница конечно 😂. Можно сказать скачек в будущее, прибыль банка теперь стремится в космос.
У меня глупый вопрос - а фонарь разве не будет чуточку гореть, если одна из батареек полностью разряжена, а другая полностью заряжена? Вроде как, у меня такое уже было в жизни и он горел. Но могу и ошибаться.
с 5 попытки, так как по условию и рисунку в фонаре уже 2 батарейки от которых он работает и 8 у нас есть, просто убрав одну в самом худшем варианте с 5 раза найдешь другую заряженную.
не раз убеждался, что люди знавшие решения подобных задач, высокой пользы в компании не приносили
Да, ладно, правда что-ли ?
А зачем тогда форд придумывал подобные задачки, для инженеров своего завода?
@@Vasya0087
А кто сказал что Форд не Идиот?
@@Vasya0087Дело то в том, что рынок он завоевал совершенно примитивными и много веков очевидным способами, упростив конструкцию авто своих.
@@pocemonspivom
Многие отмечают гениальность его решений в плане производства и создания конвейера.
Только умные люди были способны на такое. Форд набирал себе в команду таких людей, придумывая логические задачки.
@@Versus-64
То же самое можно сказать про каждого богатого и успешного человека, создателя гигантских империи.
Илон Маск, Джефф Безос, Стив Джобс.
Каждый из них по своему Гений и по своему Идиот.
Даже в ваших решениях, действиях, словах можно найти крупицу Гения и крупицу Идиота)
Вы будете перебирать батарейки, а технарь тупо сходит за мультиметром и прозвонит их.
Я с таким же успехом в магаз схожу за работающими
У технаря мультик для батареек всегда с собой, язык называется😂
Необязательно ходить, достаточно сбросить батарейки на стол стоя, и посмотреть, как они падают
i chto, kolichestvo operacii budet vse ravno takim zhe
Гуманитарий по жизни,одной попытки тоже хватит и бежать никуда не буду.Язык и КЗ вам в помощь братя
Может стоило переформулировать задачу?
Допустим так: поставщик привёз в одинаковых (брендированных) пакетиках соль и сахар. Какое минимальное количество чашек кофе (чая) сделает Зина прежде чем шеф получит свой напиток без соли.
Типичный Питер
Ответ, Зина не делает кофе, Зина СОСЁТ 😂
не у всех есть фобия с батарейками
@Timson7в чем проблема прозвонить батарейки
@Timson7содержимое пакетика может быть и незаконым
Надо обязательно уточнять в условии, что при случае заряженная + незаряженная батарейки фонарь гореть не будет.
В начале сказали что работает от друх,проблема в том что он не акцентировал внимание на этом.Нужно было сказать от двух заряженных батареек,вариант с одной заряженной не подойдет.
Скажите это задачкам из Apple
хаха - учителям математики не платят 300 тыс. и как правило на собеседованиях не задают задачи по математике )
(а если чел не знает, по какому принципу работают батарейки - пускай идёт просто пишет свои "иксы", "игрики" и "зэдки" на доске мелом за 4 500 р. в месяц , и не выё..)
В случае заряженная + незаряженная батарейки фонарь гореть будет. Это же физика. С учётом этого факта нужно всего 5 попыток.
@@mith888тогда уж 3 попытки
Те, которые умничают про сопротивления, полярности и прочее - эта задача на логику. Это абстрактные условия. Все равно, что в задаче по метематике, где "автомобиль едет из города А в город Б со скоростью N..." начать доказывать, что на дорогах стоят ограничительные знаки, а еще водитель может пробить колесо и вообще повернуть не туда и поэтому время его пути изменится.
Нужно понимать, кто и для чего задает тебе вопрос
Я полностью согласен с этим утверждением, но ием не менее условие не полное. Я например не представляю как можно утверждать, что в семье из 3 человек 6 рук. Есть много примеров, когда в подобных семьях и 5 и 4 руки. Да пример может не самый красивый и приличный. Но для понимания факта, что условия не полны подходит. Я вот остановил видео после оглашения условий и предположил, что в фонарике может быть последовательное и параллельное подключние, а в условии сказано только то, что для работы нужно 2 батарейки. Но вполне реален пример когда достаточно 2-х батареек, где только одна батарейка является заряженной.
От этой идеи я ушёл, но не отказался полностью. Но мне просто повезло, что я остановился на варианте где 2 батарейки должны быть заряжены и ответ совпал.
Но в условиях этого нет. Хотя вполне очевидно, что множество фонариков работают при только одной заряженной батарейки.
Абстрактная задача - для школьников в школе. На работе задачи реальные, с реальным оборудованием, людьми и природными явлениями.
Если условие задачи не имеет достаточного количества ограничений для получения только 1го ответа - интервьюер должен быть готов засчитать другой верный ответ и не выебываться.
Алгоритм, написанный с такими же условиями не будет работать в ряде случаев, как задумано, как раз из-за не полного описания, а значит программист был хреновый.
@mith888 То есть в Альфа-банке на позиции за 300к проверяют знание работы батареек в фонарике?
@@arutamonofu
Нет
Если непонятно что таким образом проверяется то это печально
Задачу сформулировал идиот, который фонариком в жизни не пользовался. Но тем не менее. Свежая с севшей в паре включить фонарь смогут, ответ - 3. И если заказчик уже на собеседовании начнет валить всё на исполнителя, и "переобувать" условия, с собеседования лучше уйти. Ничего хорошего в такой компании не будет.
Идиот здесь только ты. Это задача на логику, а не на знание физики. И с такого собеседования тебе действительно лучше уйти. Лучше для компании.
Это абстрактная логическая задача. Если ты не способен к абстрактному мышлению, то в этой профессии тебе делать нечего.
@@svinorez косо поставленные задачи имеют место быть в нашей профессии, и к сожалению очень часто, конкретно эта задача сформулирована косо, что тут обсуждать
Не попросят экономическую теорию сдавать, финансовый учёт, налогообложение... Видимо, на уборщика собеседование, ну или в банке реально в руководстве одни идиоты.
@@alexuspro26 Косо мозг твой сформулирован 🤡
То есть менеджеру среднего звена в Альфа банке профильное образование и мало мальское понятие принципа работы банковской системы уже не в приоритете...Пора выводить из этого банка активы!
В знакомой среде реставраторов - в реставрационном колледже закрыли мастерскую. До этого, несколько лет назад, заменили уроки рисунка уроками правоведения. Реставратору не надо владеть рисунком и уметь работать руками в мастерской.
А вы пробовали хоть раз оформить карту для ребенка 16 лет в альфе? Не детскую, а именно полноценную, как по ГК велено? Ну так вот, на сайте банка написано что ребенку нужен паспорт, в горячей линии сидит долбанутый робот, который на любой вопрос про карту для несовершеннолетнего скидывает анекту родителю для детской карты(которая до 14 лет), и категорически не пускает к оператору, а в отделении банка нагло плюют на ГК и собственный же сайт и требуют присутствия родителя, для оформления полноценной карты для ребенка с паспортом.
В общем - альфа банк обычный для РФ, с понтами и "собственными" правилами.
Ну и менеджеры там сидят такие же.
@@leninsk3d Ну если в офисе на закон плюют, то вызывайте полицию - оформят моментально карту.
До твоего комментария я думал, что это задача для программиста.
@@НикитаИгорев-з5к так и есть, это прежде всего для айтишников задача
Обожаю эти задачи, которые не имеют ничего общего с профессией человека. Я думал они уже изжили себя, но судя по всему, надмозги их еще пользуют. Разбирать надо рабочие кейсы, а не какую-то абстрактную х...ю. Когда мне работадатель давал подобные "задачки" на собеседовании, которые не относятся к занимаемой мной должности, я извинялся вставал и уходил.
Респект!
Профессия человека это какая? Жопой по клаве скакать? Тоже мне профессия
@@alexignчел, ятебяудивлю,но сайт с которого ты даже сейчас сидишь и пишешь, не жопой по клавиатуре собран 😂 Прикинь
ну при оценке кредитоспособности возможно используется что-то подобное - надо учитывать предикаты парами, и хотелось бы делать это побыстрее. С батарейками просто проще условие объяснить.
@@isqwerblyaЕщё раз повторю, если при трудоустройстве на работу, предоставляют к решению, не рабочий кейс, а что то подобное, надо уходить. Ибо это означает, что работодатель не понимает реального положения дел, на предлагаемой вам должности. А это, в свою очередь, говорит о том, что окружать вас будет не самый квалифицированный персонал. После трудоустройства это не критично, так как вы как специалист подошли на должность и работодателю нужно собирать статистику, для развития и коррекции вас и вашей работы.
В задании : "есть фонарь,который работает от двух батарей",цель : "за минимальное количество попыток гарантировать,что фонарь включится".Подбор батарей идёт отдельной темой.Первая мысль попытаться сразу включить фонарь,потому как он может быть уже с установленными заведомо исправными батарейками)).
Зная специфику работы в Банках, может оказаться что фонарь не исправен, а батарейки не заряжены абсолютно все, либо вообще мизинчиковые вместо пальчиковых. Но бизнесу нужно чтобы фонарь работал немедленно, и его ничего не волнует
Судя по комментариям, эта задачка используется на собеседовании не столько для проверки сообразительности претендента, сколько для оценки адекватности его самооценки и умения работать с неудачами)
Хорош)
Да-да именно поэтому все пользуются альфа-банком хд илиже...
"Да...да" Геннадий Горин ...хд
Есть два алгоритма на семь ходов в одной группе и один алгоритм разделения на три группы в каждой из которых по 4 хода(что хорошо если рассматривать с точки зрения ООП)). Ну а вообще лучше не ломать голову , а взять тестер))
Даже с тестором худший вариант -3 попытки
Ну какой тестер? В наш век нанотехнологий приборы на батарейках - это или очень узкоспециализированный продукт или мусор, пожирающий батарейки.
В нормальных приборах стоит однобаночный литий, а в очень нормальных его еще и переполюсовать можно - прибор все равно заработает.
@@101picofarad а макбук ваш - говно, а не прибор...
А если батарейки Дюрасел, то там есть индикатор, можно без тестера)
@@E13codeя думаю с тестером худший вариант это 4 попытки...
"Ну, решай решай", - сказал сын директора с з/п в 1 млн. У него всегда было 2х2=5
а при чем здесь сын директора ?
@@AntiBandera как же, ему не надо решать такие задачи для хорошего места😉
Ответишь правильно - возьмут на 100к, чтобы готовил аналитику тому, кого взяли на 300к и умеющему грамотно убеждать и продавать.
На 300к берут того, у кого родственники в руководстве. Деньги не должны уходить из семьи.
На 300 К там сидят прогеры и датасайнтисты сеньерского уровня а дурачки типа тебя все оправдывают свою глупость и лень ....@@ДмитрийДмитриевич-ы5х
Верно! Двое пашут, семеро х*ями машут.
Если вы пришли устраиваться в альфа банк, то вы уже по жизни не решили задачу и идете не туда куда надо😂
Если зарплата 300к, то это очень даже не плохое решение жизненной задачи
@@Истории_Наобороттак в текущих реалиях с такими задачами платят далеко за 300к+, ибо 300к это уже слишком мало на данный момент
@@Истории_Наоборотсмотря на какую позицию устраиваться
@@ДмитрийАфоничкин-в8рИскать целые батарейки на фонарик 🔦 для охранника 😃
Да и вообще в любой банк😂
Допустим существует решение за 6. Нарисуем на плоскости батарейки точками (вершинами) и будем соединять пару точек отрезком (ребром), если в решении мы пробовали вставить эту пару батареек в фонарик. То есть мы получим граф, в котором всего 6 ребер. Рассмотрим наибольшую компоненту связанности графа (наибольший связанный кусок). Допустим эта компонента имеет ровно 4 вершины. Разделим наш граф на части: в правую часть отложим компоненту связанности из 4, в а левую часть другие 4 вершины. Между двумя частями графа нет ребер. Наш граф должен находить пару батареек для любого распределения заряженных. Рассмотрим случай когда 2 заряженных в компоненте связанности из четырех вершин, а другие 2 батарейки в другие четырех вершинах. То есть мы должны уметь найти 2 зардженных батарейки среди четырех, никак не используя другие 4, так как между двумя частями графа нет ребер. Чтобы найти две заряженных среди четырех необходимо сделать полный перебор. Полный граф на 4 вершины имеет 6 ребер. У нас в графе всего 6 ребер, значит, в левой части графа вообще нет ребер. Тогда мы не сможем найти 2 заряженных в случае когда одна заряженная будет в правой и 3 заряженных в левой части. Противоречие. Значит, в компоненте связанности не может быть 4 вершин. Если в одной компоненте связанности еще больше вершин, то ребер нужно тоже больше. Если в правой части (наибольшей связанной компоненте) 5 вершин, то там как минимум 4 ребра, иначе компонента не была бы связанной. Значит, в левой части не более двух ребер. То есть в левой части мы не сможем найти пару если две заряженных слева, а две заряженных справа. Значит, в правой части мы должны уметь находить пару, когда там только две заряженных. Для этого нужен полный перебор, то есть 10 ребер. Противоречие. Если в компоненте связанности 6. 7 или 8 вершин, то количество ребер в почти полном граф для них будет сильно больше 6. Таким образом, в графе наибольшая компонента связанности имеет три вершины. Тогда наш граф бьется на компоненты или 3, 3, 2 или 3, 2, 2, 1 или 3, 3, 1, 1- но это наши примеры на 7. Значит, на 6 примера не существует. ЧТД
Мне кажется, что графы не учитывают момент того, что мы можем исключать группы не проводя полный перебор. Вот моё решение за 6 операций.
Для начала потребуется понять, что если среди 4х батареек:
- есть минимум 2 рабочие, то за 4 операции гарантировано будет найдена рабочая пара (на 4ой операции фонарик точно загорится).
- есть максимум только 1 рабочая, то за 4 операции мы убедимся, что это так. Т.е. на 4ой операции, если фонарик не загорелся, то значит это этот случай.
Доказывать не буду, т.к. довольно очевидным мне это кажется. Легко проверяется.
Соответственно продолжаем рассматривать второй случай, когда в первой четверке 0 или 1 рабочая батарейка. Тогда во второй четверке из 8 батареек должно быть 3-4 рабочих батарейки. Даже при только 3х рабочих за 2 операции мы находим рабочую пару.
Итого: 4+2 = 6 операций.
@@NNN-vd7lh За 4 операции нельзя найти рабочую пару в 4 батарейках, только за 6, поэтому у вас 8
То есть вы сначала выбираете разбиение батареек по парам, а потом выбираете, какие батарейки рабочие. В задаче же вы постоянно получаете новую информацию, исходя из которой выбираете новую пару батареек.
Аналогично: если нужно на чашечных весах определить самую тяжёлую из трёх монет, то достаточно двух взвешиваний. Но в вашем решении вы сначала выбираете две пары монет для взвешивания (строите граф на два ребра и три вершины). В этом случае вершина степени 2 может оказаться самой лёгкой монетой, и определить самую тяжёлую не получится.
Хотя, мой пример сильно отличается, в нём поступающая информация является важной. Здесь же информации нет никакой, так что, наверно, ваше решение верно. Надо проверить его на других числах в условии.
Минимальное количество попыток-1 (одна!) Вы сразу можете взять две заряженные батарейки!)
Всё дело в вопросе, и не нужно велосипед придумывать😊
Условие задачи: какое минимальное количество попыток вам необходимо, чтобы ГАРАНТИРОВАТЬ то, что фонарь включится? Умник
Ты невнимательно слушал задание =)
С таким ответом вас бы не взяли в альфа банк. А то гарантируете клиенту выплату процентов по вкладу, а потом альфа банку раскошеливаться на юриста
@@SenomSnKчто он не так сказал, почему нельзя гарантировать что фонарь включится с первого раза, если он случайно возьмёт две заражённые батарейки?
@@МистерТвистер-р1опотому что нет никакой гарантии, что он случайно возьмёт две заряженные батарейки? 🤔
Да не, бред какой-то
И соответственно ещё один момент!
Данная задача, на нестандартное мышление. Найти выход из создавшейся ситуации. В данной ситуации у нас 8(восемь) неизвестных, с которыми предстоит работать. И единственная поставленная задача - это "Угадать". То есть от познаний человека в данном случае ни чего не зависит. Тут догадливые пишут про вольтметр, но его нет, так что в данном случае для скорейшего выполнения, полагаться следует только на удачу.
Тоесть, мы получаем банк в котором мы будем работать с неизвестными, угадывая их. И как сказали выше: "вставайте, и уходите от туда!" В штате всегда должны быть люди которые имеют исходные данные, и к которым можно обратиться для ускорения процесса. Выражаясь простым языком, у кого-то из них всё-таки есть вольтметр.
Первоочередная задача начинающего менеджера - "вычислять исходные данные"! А не угадывать их!
На самом деле задача просто на оптимизацию поиска. И тут нету угадывания, тут создание алгоритма поиска решения. Её можно переформулировать и всё будет хорошо.
Допустим так: поставщик привёз в одинаковых (брендированных) пакетиках соль и сахар. Какое минимальное количество чашек кофе (чая) сделает Зина прежде чем шеф получит свой напиток без соли.
@@alexlazinessсоль можно на вкус определить.
@@alexlaziness и как всегда, в подобной задаче, всё складывается из того, что один сотрудник должен искать решение, в виду того, что другой сотрудник совершил ошибку(в данном случае поставщик сахара).
И что мы можем из этого получить?
1. Трудолюбивая Зина найдет оптимальное решение.
2. Доставщик соли/сахара не будет наказан за халатность, и продолжит халатно выполнять работу, искусственно создавая проблемы другим. По тому что в итоге, кофе у начальника окажется сладким.
3. А организация несёт убытки из-за шести вскрытых пакетиков. Что нерационально.
Эта задача хоть и похожа, но в ней изменено одно условие, и из-за этого ответ будет не 7(семь) а 6(шесть).
Обращаясь к другим ты экономишь свое время за счет других и ни черта не учишься . Имя вам таким легион
@@alexign Я вижу, как вы прочитав лишь половину написанного, сделали подобный вывод. А то что я написал ниже "что в контексте данной задачи, изначально ошибся кто-то другой, и вам надо исправлять его ошибку" вы не прочитали. Спасибо за наглядный пример экономии "своего" времени, человеком не желающим учиться.
И кстати, в СССР в школе, учитель в первый день объяснял определенную тему, и лишь на второй день её спрашивал. Вот так проходило обучение! Не знаю как сейчас, с ваших слов выходит что обучение, это когда с человека спрашивают предварительно ничего ему не объяснив. Печально.
Это не полное решение задачи. Вы нашли способ, который позволяет найти нужную комбинацию за 7 проверок, но не доказали, что за 6 гарантированно найти такую комбинацию нельзя
Так вопрос сколько попыток, чтобы гарантировано включить. То есть надо найти алгоритм, который при любом расположении батареек сработает. А так можно с первой попытки, если наугад вытянуть 2 рабочие
@@shotkey610вы правы, но кроме этого надо доказать, что это самый короткий метод
Да, но всё ещё нет доказательства, что не существует алгоритма, который гарантированно включал за 6 попыток. Как и доказательства, что такого алгоритма не существует
@@Math_is_my_ladyтолько хотел это написать, а тут адекватный человек уже до меня это написал. Спасибо что такие люди есть
ну если бы вы поступали в аспирантуру, то тогда бы наверное такое доказательство потребовали бы
Заряженые батарейки если их уронить с высоты в сантиметр или меньше плоской стороной на твёрдую поверхность - почти не подпрыгнут, а севшие - будут отскакивать и падать. Проверь так батарейки и поставь заряженые)
Согласен. И получится зажечь фонарь с первой попытки.
ты гений??
Если цель - устроиться на работу, то надо ответить интервьюеру: "я знаю, что вы хотите услышать число 7, но я также знаю, как решить эту задачу за 6 попыток". На вопрос "и как же" - отвечать, что узнаете, когда я вступлю на должность. Они точно не смогут спать спокойно после этого.
- Вы приняты, так всё-таки как?
- А никак.
- Вы уволены
@@TTTttf4 , у вас было время подумать над этим ответом, а у HR этого времени не будет - он будут в ступоре на 99%, т.к. вы ему зададите новую задачу, на которую он не знает ответа, опасаясь, что он сам неправильно решил свою же задачу. Представьте работника конвейера по сборке автомобилей: человек расслабленно месяцами закручивает одну и ту же гайку, и тут ему приходит гайка не того типоразмера, а конвейер продолжает идти, и у него есть минута на решение проблемы. К тому же у них нет опции "принять кандидата сразу", потому что начальник дал ему задачу сначала прослушать всех.
А пока кадровик пережидает бессонную ночь в холодном поту с карандашом в руке, склонясь над листом бумаги, утирая слёзы и ломая голову, у вас будет время придумать креативный ответ. Ведь всем известно, что на таких собеседованиях зачастую ждут не правильный ответ, а нестандартный подход к решению.
Но после приема нужно быть готовым к тому, что с HR вы будете либо на ножах, либо станете друзьями. Нейтрально вас воспринимать уже не будут.
@@TTTttf4ну надо за месяц предупредить и потом ещё 2-3 за выплатить
@@Vlad-nw7cs ну тогда "Мы передумали вас брать"
@@TTTttf4 дак зачем секрет до подписания договора разглашать
Если формализовать вопрос, то почему бы не прибегнуть к комбинаторике.
Всего n = 8 батареек, 4 дают положительный исход. Их порядок не важен.
Прикидываем сколько уникальных пар m=2 (сочетаний без учета порядка можно составить)
C(m
) = n! / ((n-m)*m!) = 8! / ((8-2)!*2!) = (7 * 8) / 2 = 56/2= 28 таких пар
Сколько положительных исходов из этих 28? Очевидно что из 4х батареек можно составить 6 уникальных работающих пар. F = 6
Какова вероятность из наугад составленной пары вытащить работающую за 1 попытку (k = 1) ? 6 / 28= 3/14 ~ = 0.21
Сколько попыток нужно, что вероятность положительного исхода P стала >= 1?
p = 6/28 * K; 1 = 6 / 28 * k; Ну раз попытки целые, то надо 6 домножить на 5. Чтобы получить 30 / 28 > 1
Итого: сколько попыток = 5. Какой алгоритм? Без понятия, это для другой задачи)
нуу это означает только одно: если случайным образом перебирать пары батареек, то при заданных условиях с высокой вероятностью одна из 5 попыток окажется успешной. Но не гарантированно )
Это не решение поставленной задачи. Решением было бы привести ДОКАЗАТЕЛЬСТВО, что нельзя определить нужные батарейки менее, чем за 7 попыток.
Вопрос был "какое минимальное кол-во попыток , чтоб фонарь включился"
И ответ 7
Ведь на вопрос кол-во попвток - 7 , отвечено
@@СвободныйМатематик И? Почему не 6 или 5? В "решении" просто показали, что за 7 сделать можно. Совершенно не ответив при этом на заданный в задаче вопрос. Вот если бы они доказали, что меньше, чем за 7, сделать нельзя, тогда это было бы решением.
@@Lotrick ну тоже верно
Ну думаю в данном случае никак не доказать, что 7 минимум
Разве что если заявить что 4 батарейки имеют 6 комбинаций
А значит число попыток >6
Но можно ли это считать док-вом?
В вопросе стоит слово "гарантировать", то есть после X количества попыток фонарь должен загореться с вероятностью 100%.
Зажечь его можно и с 1й и со 2й и с 3й и любой другой попытки с определённой вероятностью, но чтобы ГАРАНТИРОВАТЬ, что он загорится - нужно минимум 7 попыток.
Ответ на вопрос корректен и верен, возьмите батарейки и фонарь и попробуйте, ваш фонарь загорится за
@@BERTOSONE Боюсь, вам больше не стоит заниматься математикой. Или логикой. В "решении" даже не стали пытаться доказывать (а именно это нужно сделать для решения задачи), что 7 это минимум, который гарантирует зажигание фонаря. Тут просто показали, что есть паттерн, при котором 7 попыток хватает. Но НЕ ДОКАЗАЛИ, что не существует паттерна, при котором хватило бы, к примеру, 6 попыток.
Условия задачи абсурдные, нужно обязательно уточнить что фонарь не будет работать только от одной заряженной(хотя такое бывает крайне редко, современные мощные фонари при наличии одной разряженной будут кое как светить на минималках). То есть нужно что бы именно две имели нужное напряжение.
К слову, я сам решил похожим на ваш способ, только я бы разложил для начала все батарейки. И выбрал пару из центра, скажем 4,5 номер.
Если всего 8 батареек и мы знаем что 4 из них разряженные, соответственно получаем не так много комбинаций с их расположением.
Они могут идти: один через один, то есть, 1 заряжена, 2 не заряженна, 3 заряжена, 4 не заряжена и т.д. второй вариант: 2 заряжены, 2 разряжены, третий вариант: 4 заряжены, 4 разряжены, четвертый вариант, например 2 заряжены, 1 разряжена, 1 заряжена, и т.д
В моем варианте когда я беру из центра пару 4,5, остается как раз две группы по 3 батарейки, начав с центра я в любом случае наткнуть на одну-две не рабочих(в каком порядке они не распологались бы, хуть 4 на 4, 2 на 2, или скажем 1 на 3 и т.д.) и методом исключения найду заряженные.
В общем, мы с автором пришли почти к одному и тому же решению.
Если быть точным, то "Гарантированно зажигает фонарь не позже 7-й попытки" (а не за 7 попыток - фонарь может загореться и на первой).
Проблема в том что сопративление разряженной батарейки не бесконечно, фактически через неё все равно будет протекать ток, по-этому фонарь все-таки загорится с первой попытки, к тому же ничего не сказано о том что батарейки вставленны полюсами последовательно, они могут стоять и паралельно, просто для увеличения емкости батарейного блока, в этом случае будет присутствовать небольшой переток на разряженную батарею, но фонарь зажжется.
Это классическая задача программиста или смежного профиля, когда в погоне за оптимизацией и автоматизацией, может пройти день или неделя или месяц, лишь бы не трогать трулайф) На таком количестве батареек, быстрее и проще начать перебирать, потратить на это минуту, чем искать сложное универсальное решение. Главная задача найти первую рабочую. Например, берем первую батарейку, начинаем вставлять 1+2-3-4-5 если хоть одна пара заработает, значит 1 была рабочая. Если повезет, то с первого круга найдутся все рабочие. Если этого не произошло, значит 1 нерабочая. Берем 2+3,4,5,6. Вероятность что 1 и 2 обе нерабочие маловероятна. В реальной жизни скорее всего 1 уже будет рабочей и все пары найдутся за 6 - 7 попыток. По крайней мере в реальной жизни, похожую задачу решал лично (коробка с батарейками от детских игрушек), все получилось как написано выше, работает 100%). Первая оказалось рабочей, дальше дело техники.
Я точно так же подумал сделать
Чтобы гарантировать нужно 6 попыток. Чтобы включить 7. Ответ на вопрос, который был в начале видео, "6".
Вопрос перечитай. Сколько нужно сделать попыток, чтобы гарантировать, что фонарь включится. Как ты сможешь гарантировать, что он включится, если он не включится?
@@asderoookrook7002 Вопрос звучит так: какое минимальное кол-во попыток необходимо чтобы гарантировать, что фонарик включится. Ответ 6. Если попытаться его включить 6 раз с разным наборами батареек и он не включится, то можно гарантировать, что на 7й раз включится точно.
@@saddenness с такой же логикой можно сказать, что ответ 0, потому что он всё равно рано или поздно включится при полном переборе. Гарантировать, что он включится это и означает гарантировать, что он включится, то есть предоставить алгоритм действий, при которых он гарантированно включится
@@asderoookrook7002 нет, с такой же логикой как у вас, даже если видите кипящую воду нужно палец сунуть туда, чтобы понять, что она горячая. вот я 6 раз попробовал батарейки вставить в фонарь и он 6 раз не включился. и на руках остался фонарик и 2 батарейки. Чтобы понять, что обе батарейки заряжены не нужна 7я попытка. При верных исходных данных она избыточна. Смысл алгоритма не в том, чтобы включить фонарик. Смысл найти решение за минимальное кол-во итераций.
согласен, можно такую риторику как у вас применить, но вы не гарантируете, что он включится, ибо, возможно, что там на одну разряженную больше. То есть, пока вы не воткнули седьмой раз и не включили фонарь, вы не можете доказать свою гарантию. Но я согласен, что нужно было сменить формулировку вопроса для его однозначности - сколько раз нужно вставлять батарейки, чтобы фонарь зажёгся.
Обожаю такие задачи (правда обычно оказывается, что я тупой))). Автору спасибо.
В куче может быть две разряженных попасться но не более двух раз подряд, либо могут попасться 4 варианта разряжен заряжен. Что в сумме даёт шесть неудачных попыток. Это максимальное количество неудачных попыток, соответственно 7я точно будет удачная. Я вот так пришёл к выводу. Даже без всяких ваших переборов и разделений на группы 😅
С финальной схемы многие вопросы остаются открытыми Банально нужно убедиться какая именно батарейка из пары полностью заряжена. Идеальным решением будет одна одной из остальных семи, И пользуясь оптимистичным сценарием Фонарь засветит в полную мощность с четвёртой попытки
Можно пойти купить 2 новые батарейки... А если уже работаешь в альфа банке то пусть клиенты принесут по 1 новой батарейке и им тогда будет кэшбек в 3 ℅ с условием кредита в 150℅ годовых
Сразу видно гуманитарий. С таким же успехом, если с утра у автомобиля колесо приспустило, то не нужно его подкачивать, можно просто купить новое с кешбеком
@@WhiteMariaN зачем самому покупать когда можно заработать так что его установят, накачают, нальют коньяка и отсосут за одну стоимость
Легко решается. 6 попыток достаточно. Странно что так мало об этом написали.
вот мне тоже кажется, что есть решение лучше чем 7 попыток, но не могу найти)
1. у меня обычно с собой мультиметр, просто померить вольтаж каждой, и выбросить плохие, в итоге будет 100% шанс
2. ошибка в задании. даже при одной разряженной фонарь может включиться.
3. более оптимальным решением будет в данном случае (при отсутствии мультиметра) простой перебор батареек, и не тратить кучу времени на высчитывание.
4. а откуда в жизни будет известно, что 4 из 8 не рабочие? кто то закинул нерабочие в коробку с рабочими? наказать тогда за такую халатность, и раз человек халатный тогда не верить что именно 4 не рабочие, ведь могут быть и 5.
1) разряженная батарейка без нагрузки(холостой ход), на тестере может показывать столько же вольт, сколько и заряженная. А при малейшей нагрузке проседает до нуля. Так что тестер не панацея. Если только закоротку не проверять именно на силу тока.
2)справедливо только для фонаря с лампой накаливания, коих давно нет в продаже. А светодиод от напряжения одной целой батареи не откроется. Вторая хоть на хх и даёт напругу, но при нагрузке теряет всю. Работать ничего не будет в современном фонаре. Особенно если ещё и драйвер СД нужно запустить.
Хорошая задача. Иногда такая сообразительность помогает решать сложные задачи всего лишь одной функцией в экселе например. А эксель - это наше все. Кто в теме тот оценит...
Правильный ответ на эту задачу должен быть "я не буду заниматься такой ерундой, т.к. при 8-и батарейках я быстрее их переберу в лоб, чем найду оптимум".
Нормальный собеседующий прикинет, что этот человек не будет зря тратить деньги компании на разработку супер-пупер методики ради пары копеек в проде.
Именно! Цель задачи - найти послушного, а не умного.
Главное не показывать решение до выплаты зарплаты в 300к 😁
Если решать задачку как физик, то 2 попытки. Формально, фонарик включится, если в нём будет заряженной хотя бы одна батарейка. Если он не включается, то незаряженными оказались все 4 батарейки, вероятность этого низкая, но есть. Так что в этом случае меняем их все на заряженные.
Можно разбить и на 3 и 5.
Первые три в худшем случае сообщают нам, что остались 2 разряженные батарейки.
Если следующие две пары не зажигаются, значит последняя батарейка заряжена.
Далее в худшем случаее еще 2 попытки, чтобы фонарь загорелся. Итого 7.
7 ходов
Берём 4 батарейки, перебираем их, 5 ходов используем, приходим к выводу что 3 из них разряженные. Откладываем их.
Потом берём остальные 4 батарейки, там одна будет разряженная. Что бы узнать какая, понадобится ещё 2 хода (сначала одну поменять, потом другую). В итоге, 7 ходов, и без неформальных разделений на странные группы
это не самое оптимизированное решение
разделение такое же, но начинать нужно проверять группу с 2 батарейками, но макс ходов потребуется тоже 7 (если 1 2 1 лампочек в группах и мы не угадали с группой где 2)
верное замечание) не смотря на то, что ходов столько же, но шансы, что мы найдем батарейки быстрее - выше )
есть одно но, если одна батарейка работает, а другая нет, то форатек будет работать
Пробуем сначала первые четыре батарейки так:
1 и 2, 3 и 4. В худшем случае ни одна из попыток не включит фонарик. Т.е. либо все четыре батарейки не работают, либо в каждой паре по одной не рабочей, либо в одной паре одна нерабочая, а в другое обе. В случае четырех нерабочих, остальные четыре точно работают и всего понадобится 2 (предыдущие 4 батарейки) + 1 проверок.
В случае, если были по одной рабочей и одной не рабочей, то в остальных четырех останется две рабочие и две нерабочие. Возьмем сначала две батарейки (+1 попытка), допустим одна работает а вторая нет (в других случаях либо фонарь включится сразу, либо при следующей попытке). Тогда проверив остальные две (4ая попытка) мы так же можем попасть в ситуацию, что одна рабочая, а вторая нет. Если про пятой попытке мы поменяем местами по одной батарейке между группами, то в любой из этих пар откажется либо две рабочих, либо две нерабочих батарейки. А это значит, что мы уже точно можем сказать, какая пара рабочая, исходя из того загорится фонарь или нет. Итого ответ 5 попыток нам точно скажут какие батарейки рабочие, а 6 попыток нас гарантировано зажгут фонарь 🎉
Ну, если это на руководителя тест, можно ответить на вопрос "Какое минимальное количество попыток вам необходимо, чтобы гарантировать то, что фонарь включится?" - 0. Из условия понятно, что из 8 батареек 4 рабочие, соответственно, рано или поздно, фонарь точно включится. Это я гарантирую)
Берем кусок провода длиннее чем длина батарейки, лампу прикладываем нижним контактом к плюсовому контакту батарейки, провод к минусу батарейки и лампе, если лампа горит на половину накала, значит батарейка хорошая. В худшем случае если мы сразу с первой попытки найдем хорошую батарейку, а далее 4 батарейки подряд будут разряженными, нам нужно 5 измерений произвести суммарно. На общих основаниях в Альфа банке делать нечего - эти задачи ни о чем не говорят применительно к работе.
В фонаре светодиод, который открывается только при приложении суммарного напряжения двух батарей)
6 попыток. Сначала разделяются на 4 пары. В кажой паре одна заряженная, другая нет. После 4х попыток берем произвольные 2 пары и меняем в них по одной батарейке. Получаем одну пару пустую, вторую щаряженную. Соотв. 5 и 6я попытки.
Если мы не угадаем и на 5ую попытку поменяем две одинаковые батарейки в двух парах, то нам это не даст никакой информации. Соответственно, 6-ач попытка может нам дать то, что мы поменяв снова одну из батареек в одной из пар получим не две заряженные, а наоборот. И тогда заключительная попытка будет строго 7-ая.
@@ence1adus А, ну да, верно. 5я замена нам даст только инфо, что мы поменяли местами либо обе заряженные, либо обе разряженные. На 6ю мы меняем еще раз и получаем пару полностю разряженных и на 7ю попытку да, мы берем пару заряженных.
Минимальное количество что бы фонарь загорелся- 1 попытка. Это либо 2 заряженные батарейки, ли бо заряд+разряд (загорится, но слабо), вероятность 2/3 что загорится. Если исходить из формулировки "какое количество попыток нужно что бы фонарь загорелся".
В реальности с 7-й попытки фонарь не засветит. Так как контакты у фонарика окислились или батарейки вставляли не ровно или перепутав полярность.
Мораль: если от этого решения зависит твоя жизнь - всегда рассчитывай на форс-мажор.
Альтернативное решение основанное на понимании окружающего мира. Если уронить вертикально разряженную батарейку она отскочит на пару сантиметров. Заряженная стразу упадет набок. Таким образом максимум за 6 попыток мы определим рабочую пару ) Хотя с другой стороны попытка будет всего одна.
Можно кинуть сразу все) и посмотреть какие как упадут))
из условий задачи вытекает, что минимальное количество попыток равно двум: если с первой попытки взять наугад две батареи и они окажутся заряженными, а затем наугад из оставшихся шести батареек взять две наугад и они тоже окажутся заряженными.
согласен. условия задачи писал идиот
Нужно максимум 5 попыток.
Cогласно документации (Data Sheet) на батарейки напряжением севшей батарейки AA или AAA считают 0.9 - 0.8В. Т.е. в случае когда мы вставили одну севшую, а одну рабочую напряжение будет примерно 2.3-2.4 В.
При таком напряжении светодиод будет светиться неярко, а значит мы можем определять случай, когда одна из двух вставленных батареек рабочая. Учитывая этот факт - достаточно 5 попыток, чтобы точно найти рабочую пару.
В случае когда одна батарейка может неярко светить, можно управиться за максимум 4 попытки, чтобы найти 100% 2 заряженные батарейки.
Последовательность проверки:
1) 1 и 2
2) 1 и 3
3) 1 и 4
4) 1 и 5 (или 6, или 7, или 8)
Варианты исхода:
1) 1 и 2 сразу ярко засветили, значит нам сразу повезло и мы использовали только 1 попытку. Батарейки 1 и 2 100% заряжены.
2) 1 и 2 неярко, 1 и 3 ярко, по тому же принципу попалась пара заряженных, но уже на 2-й попытке. Батарейки 1 и 3 100% заряжены.
3) 1 и 2 неярко, 1 и 3 неярко, 1 и 4 ярко, по тому же принципу попалась пара заряженных но уже на 3-й попытке. Батарейки 1 и 4 100% заряжены.
4) Пары 1 и 2, 1 и 3, 1 и 4 все светили неярко - соответственно 1-я батарейка заряжена а 2, 3, 4 разряжены. В остальных 5, 6, 7, 8 батарейках есть только одна разряженная батарейка так как другие 3 мы уже нашли. Проверяем 1-ю батарейку например с 5-ой, - если снова неярко, то делаем вывод что любая пара 1 и 6, 1 и 7, 1 и 8 будет 100% заряжена. В этом случае мы за 4 попытки нашли все заряженные батарейки)
5) Пары 1 и 2, 1 и 3, 1 и 4 все не светили - соответственно за 3 попытки мы нашли все 4 заряженные батарейки, ими будут 5, 6, 7, 8 - так как 1, 2 ,3, 4 - были полностью разряжены.
6 попыток:
разбиваем на 2 группы по 4 батарейки
1) Проверяем две случайные из первой группы
2) Проверяем две случайные из второй группы
Допустим в обоих случаях фонарик не загорается
-> это означает, что среди проверенных 4 батареек есть как минимум две неисправные
-> это означает, что среди непроверенных 4 батареек есть как минимум две исправные
3-6) Делаем еще 4 проверки для той группы из непроверенных 4 батареек
Среди них точно будет две рабочие
Итого: 6 попыток
чтоб из 4 батареек гарантированно совпали 2 заряженных - нужно 6 попыток, а не 4. То есть ни за 6, ни за 7 попыток таким способом не решить.
Батарейки и практически проверить можно, 2ве в фонаре стоят, они рабочии, вынимаем 1ну, откладываем в сторону, и поочередно по 1й вставляем в фонарь, если повезет, то с 4х батареек фонарь зажгется 4ре раза, если худший вариант, то опять же фонарь не жажгется 4ре раза... ответ: 4 реза.
я гарантированно зажгу фонарик с первой попытки))) Батарейки, судя по надписи на них, являются аккумуляторами. Зарядить любые две попавшиеся, после чего зажечь фонарь. С первой попытки!
)))
1) Проверяем 1, 2 - не работает
2) Проверяем 3, 4 - не работает
Предположим, что 5 тоже нерабочая, тогда из оставшихся 6, 7, 8 - две рабочие
3) Проверяем 6, 7 - не работает
4) Проверяем 7, 8 - не работает
5) Проверяем 6, 8 - не работает
Следовательно наше предположение неверно, и 5 является рабочей. Проверяем её с парой 1, 2, либо с парой 3, 4 в каждой из них точно по одной рабочей батарейке.
6) Проверяем 5, 1 - не работает
7) Проверяем 5, 2 - работает
ИЛИ
6) Проверяем 5, 3 - не работает
7) Проверяем 5, 4 - работает
Все верно. Спасибо за альтернативный вариант решения!
Можно объединить первые 2 способа! 2 группы по 2 и одна 4. Худший сценарий. Первая пара не зажглась, потом вторая пара не зажглась. Значит, в последних 4 есть по крайней мере 2 заряженные батарейки. А мы знаем, что нам нужно 4 действия, чтобы перебрать все пары в группе из 4. Ну, нам тут даже 3 нужно, потому что 2 оставшиеся будут заряженными
чтобы перебрать все пары в группе из 4, нужно 6 действий
@@ВладимирЧугунов-ш7н да, вижу, обделался) спасибо
У меня свой вариант решения этой задачи. Если нам заранее известно что половина из них точно не работают, то нужно сначала подобрать две работающие, а после одну оставив в фонарике и перебрать с ней остальные. Так даже не надо будет перебирать все, можно остановиться когда найдётся четвёртая работающая. Но тут как повезёт.
Дано: фонарь который работает от двух батареек.(он уже работает и в нем две батарейки) поэтому с первой попытки я заставлю фонарь заработать! Поменяв одну из 8 батареек. Если тускло горит значит вставленная новая батарейка разряжена, если яркость осталась прежней, значит вставленная батарейка разряжена. Ответ: с одной попытки.
Можно за 6. Делим на две группы по 4. Пробуем:
1) 1 и 8
2) 2 и 7
3) 3 и 6
4) 4 и 5
Фонарь не горит - значит, батарейки могут располагаться лишь следующими порядками:
1, 2, 3, 4 - красные
5, 6, 7, 8 - зеленые
(и наоборот)
1, 3, 5, 7 - красные
2, 4, 6, 8 - зеленые
(и наоборот)
1, 2, 5, 6 - красные
3, 4, 7, 8 - зеленые
(и наоборот)
и вот тут моему гуманитарному мозгу не хватает синапсов додумать финал решения, но как-то там за два хода перекрестить так, что точно совпадут две зеленые, точно можно)))))
Решил за 1 комбинацию данную задачу, беру любые две батарейки и бью их друг об друга очень сильно, потом вставляю в фонарь и все работает
Ну что я могу сказать, задачу я решил, после чего пукнул так полужиденько, отсалютовал победу так сказать, удовольствие получил от того какой я умный, теперь можно пофапать и на боковую.
рнн господин, ни дня в жизни не проработал.
Спасибо, что предупредили, что в Альфе еще спрашивают подобную хероту. Придет их HR - пошлю его сразу лесом
Условие плохо сформулировано. Если заряжена одна батарейка, фонарь совсем не будет светить или будет светить тускло?
в лесу на корпоративе эти знания очень пригодились в газпроме )) тогда я выиграл дом на мальдивах и вилу на сан тропе + бугатти )) а тут детский сад какой то ))
Фонарь загорится, если хотя бы одна батарейка будет работать. Вторая будет работать просто как проводник (грубо говоря, вместо неё можно проволку припаять)
Ну если говорить об Альфа-Банке тогда нужно задуматься об производительности, а это минимум 10-десятки миллионов задач за раз.
Я думаю что 1 вариант с примитивным обходом с 1 по 8 батарейки а потом с 2 по 8 и так далее... будет работать быстрее чем постоянно переключаться с позиций как в ролике у Автора. Чем больше условий, сложений и тп... тем медленнее будет работать метод либо функция(Особенно при больших объёмов). Нужно задумываться не только о арифметической составляющей но, и учитывать возможности языка и технологий, ну и мощности клейстера-серверов.
Это была задача по оптимизации ))).
Насколько я понимаю, примитивный подход, о котором вы говорите, будет иметь сложность O(n^2). А максимальное количество попыток в предложенном автором алгоритме 3n/4 + 1, то есть O(n). Вы уверены, что задумываясь о производительности следует выбирать более сложные алгоритмы (особенно при больших объёмах)?
@@КонстантинБратищев-з3п ))) В моём случае:
1. Цикл For ()
2. Переменная A = 1
3. И всего два условия IF() в цикле For
___
Всё что потребуется при самом простом поиске нужных батареек. (Самый простой обход)
Алгортитм (1-2, 1-3, 1-4, 1-5) и тп... далее A = 2 (2-3, 2-4, 2-5) и тп....
-------------------------------------------------------------------
Если брать второй способ )) По моему мнению код будет куда сложнее по операциям к железу(Серверу).
Я соглашусь что второй способ по Арифметике может смотреться проще и куда оригинальнее и тп... ))), но мы же про (Оптимизацию). При больших объёмов это может сыграть роковую роль.
@@mitivil1134 А в чём сложность второго способоа по операциям к железу? (1-2, 1-3, 2-3, 4-5, 4-6, 5-6, 7-8, 7-9, 8-9 и т.д.) и да, ваш алгоритм - это O(n^2), что при больших числах НАМНОГО сильнее нагружает железо, чем O(n). При количестве батареек равному 100, ваш алгоритм переберёт более тысячи вариантов, а если брать "второй" способ, то только 76
Updated: У вас будет For и вложенный в него ещё один For
@@КонстантинБратищев-з3п Хммм🤔🤔.... Хотя да вы правы, признаю! Второй вариант более эффективен
Updated: У первого варианта 1 цикл For(){}
------------------------
const array_battery = [0,1,0,0,1,0,1,1]; // Пример массив с батарейками (1-заряжен, 0-разряжен)
const total_battery = array_battery.length; // Кол-во(8) батареек
let a = 0;
// Перебираем батарейки
for(i = 1; i < total_battery; i++){
if ( array_battery[a] == 1 && array_battery[i] == 1 ){
return 'detected'; 🙂🙂
}
if (total_battery - 1 == i) {
a++;
i = a; // Подстраиваем индекс-i
}
if (a > total_battery) {
return 'not detected'; // Не обнаружено🙃🙃
}
}
У вас будут вложенные циклы. И в случае например 1 000 000 000 "батареек" вы будете до пенсии их перебирать этими циклами.
По жизни этот принцип может звучать так - делать перебор или поиск максимально малыми порциями 🤔
Рвём шаблон - две батарейки сжимаем в дверном проёме, пихаем в фонарь - работает! Цель достигнута!
Если солевые, а если щелочные то не прокатит. :)
Смог придумать алгоритм на 7 попыток.
А, это и есть ответ. Но в реальной ситуации правильно проверить группу из двух батареек первой, как мне кажется. При худшем раскладе это не сократит число ходов, но в ней без комбинаций.
Я бы ориентировался на тусклый свет фонаря, попыток явно меньше 7 будет. Две попытки тусклые, на третий раз найду рабочие батарейки.
Фонарик будет гореть даже, если одна батарейка разряжена. Ваше решение неправильное.
Вспоминаем комбинаторику и считаем число позитивных и негативных сценариев по кол-ву комбинаций пар. Надо брать случайные пары. При повторных попытках брать любые новые батарейки. Уже ТРЕТЬЯ случайная проба даст успех, если проводить много экспериментов (один эксперимент не гарантирует ничего). Я не до конца уверен в своей формуле, но третья случайная выборка дает шанс около 66% на успех! Итого, если раздать фонарики с персональным набором батареек 100 людям, которые одновременно по шагам делают попытки и назначить призовой фонд за наименьшее число попыток, то более выгодная стратегия - рандомные пары.
У тебя 34% вероятность неуспеха в таком случае)
Поставишь свою жинзь при таких шансах?))
@@bykaxagod597 И что? Есть условно ты, который действует по алгоритму в видео. А есть 100 людей рядом, которые действует рандомно. И предположим выигрывают только 50% людей, кто первым зажжёт. С первой, второй или третьей попытки, остальные попытки просто не состоятся из-за бессмысленности. При алгоритме из видео - ты точно проиграешь.
@@TVBOX-qd8hx давай заглянем глубже. Почему по твоему на собеседовании задают такую задачу? Что бы один из кандидатов назвал вариант, при котором у него шанс победить будет больше?)
@@bykaxagod597 Я знаю ответ, почему. Ты - нет. Ответ: потому, что из-за глуповатости собеседующих и публики, которая смотрит такие видосы, вам кажется, что в задаче есть какой-то смысл и мораль. В ней нет никакого математического смысла, логики, подхода, принципа и т.д. Решение заключается в поиске методом тыка разных алгоритмов. Собеседующий дурачок хочет проверить, сможет ли кандидат придумать 100500 разных алгоритмов? Ну, если это его цель - тогда ок. Но она туповатенька. Как и ведущий, который думает, что знает ответ, не почесался проверить МАТЕМАТИЧЕСКИ вероятность иных алгоритмов действий. Я вот не поленился. Мои 66% - не с потолка. Я не публикую формулу, ибо не до конца в ней уверен, чтобы не позориться с ошибками. Но эти 66% я посчитал. В отличии от вас всех. Я же смотрел комменты, ни у кого IQ не хватило посчитать по формуле. Хотя, кому я объясняю...
@@TVBOX-qd8hx Оо, моя любимая публика, побольше оскорблений и клише и чувствуешь себя на коне, верно?))
Ладно, раскрою секрет.
Это задача для программистов. И в задаче ясно звучит условие "гарантировано" сработает. В твоём случае это работает в 66% случая.
Тебе нужно приложение, которое будет работать в 66% случаев?))
В то же время, избыточное количество циклов это ресурсы. Если процессор будет совершать большее количество циклов, чем необходимо для 100% результата, то это перегрузит систему и твоё приложение будет тормозить.
Фонарик и батарейки это самый упрощённый пример того, с чем этому программисту придется работать. Потому что в реальности процессы намного сложнее и никому даром не дались твои 66%))
За сим откланаяюсь, можете дальше раскрывать глубину своей личности, сыпя оскорблениями)
Берешь батарейку. Один палец на контакт. Вторым на язык. Если чуть щиплет или кажется солоноватой, то заряжена.
Включим логику!
Если из 8 батареек неисправны 1,2,4,5.
А исправны 3,6,7,8. То данным методом можно подобрать пару с 7-ой попытки. Как считают авторы данной задачи - "максимально быстро". Однако, если разделить батарейки по две, то в именно этом случае, который будет наихудшим, тоесть 7(седьмым), в случае по парам будет 4(четвертым).
От сюда, в поисках лёгкого решения, получаем излишние затраты времени и сил.
Нужно пять попыток. Худший вариант - 4 пустых, за ними 4 полных. Берёшь первую, к ней пробуешь 4 соседних. Даже если среди этих пяти была одна полная - не парься о ней, потому что точно знаешь - все оставшиеся полные, бери из трёх две любых. Статистический анализ, теория случайной выборки без возврата элементов, второй курс экономического вуза, нулевые (Греф).
а теперь проверьте свой алгоритм в случае, когда ваша первая разряжена, а после нее 4 полных, после которых еще 3 пустых. И вы берете первую.
@@alekseylomako9450 и то верно.
@@alekseylomako9450но это один частный случай. В таком случае, если на пятой попытке ты не получаешь результата - на шестой берёшь из твоей обоймы, тоже с гарантией.
@@alekseylomako9450у меня была схожая ситуация в пору моего сисадминства. Только не с батарейками, а с винчестерами. Пока винчестер не подключишь - невозможно узнать, он чист или с данными, потому оперировать большим их количеством - экстремальное занятие, скажу вам.
300к, это зарплата руководителя, а Руководитель решает эту задачу так: он подумает накануне о том, что предстоит и спланирует происходящее, включая фонарик с заряженными батареями. Руководитель тем и отличается он не плывет по течению он управляет ситуацией. Остальные идут за тестерам и занимаются перебором вариантов.
Если 1 батарейка заряжена, а вторая нет, то незаряженная батарейка разве не будет работать просто, как проводник для заряженной?
Вспоминаю этюды по программированию 40-летней давности, когда в распоряжении была только "Проминь-М" и надо было сичтать логарифмы, обходясь только тремя ячейками памяти... Сейчас все это уже никому не нужно и такие тесты никак не говорят, что сотрудник будет способен делать что-то по-настоящему полезное.
Правильный ответ на задачу: У меня папа в совете директоров.
Все остальные ответы приведут к понижению до 100к.
Многое объясняет... понаберут уникумов с нестандартным мЫшлением.
А потом все мучуются, ибо в реальной жизни всё по другому устроено и работает иначе.
Стратегия попроще - заряженные и разряженные батарейки по разному отскакивают от твердой поверхности.
Замеры показали, что севшие батарейки действительно отскакивают выше, чем неиспользованные, но процесс этот нелинеен.
Раз собеседование на 300К, значит вакансия - руководитель (по крайней мере в УрФО).. Итак:вариант 1. Одна попытка. Если после этой попытки ни чего не получилось, вызываю сотрудника, он разберётся, а у меня более важные задачи стоят...
Вариант 2. Две попытки - первая неудачная, затем эти же батарейки долбим друг о друга для стимуляции заряда.. У меня это работало и с пультами ТВ и с фонариками (маленькими).Опосля вставляем и..да будет свет..
Вариант3. Три попытки. Если одна не заряженная, а следующая заряжена, цепь замкнется, да будет свет..
Да и вообще, разве собеседование в темноте проводится, что фонарь нужен?
Привёл ещё два примера по 7 ходов. А как доказать, что меньше не бывает? А если бывает, то какое решение?
Этим как раз занимаются математики :) И у тебя делом всей жизни может быть поиск вот такого способа, доказать, что возможное минимальное количество попыток 6. А следующее поколение будет биться над 5ю :) Конечно над более сложными задачами, в этой задаче всё просто и она решается комбинаторикой за весьма малое время, и всё же
Это несложно показать (что 6 не хватает). Достаточно посмотреть на задачу с точки зрения графов и рассмотреть несколько общих случаев: что 2 (по крайней мере) батарейки ни разу не остались проверены; что 1 батарейка ни разу не проверялась и ещё 2 по разу (тут 2 подслучая: что эта разовая проверка была проверкой их друг с другом, либо с другими батарейками) ; и что 4 (по крайней мере) батарейки были проверены лишь по разу (тут 3 подслучая: что что все они проверялись друг с другом, что две друг с другом и две с другими, и что все 4 этих батарейки проверялись вместе с другими). Предлагаю самостоятельно понять, почему любое множество из 6 проверок обязательно попадёт под один из этих случаев, и как для каждого из них предлагается "раскраска" батареек без рассмотрения конкретных вариантов
Можно в один ход: покусать две любые батарейки и они начнут работать.
Давайте мои деньги
Фонарь с одной заряженной и одной не заряженной батарейкой обычно всё равно работает. Поэтому фонарь может загореться уже со второй попытки.
*Решение на 6 ходов *
Всегда проверяем следующим образом:
1) 1, 2
2) 2, 3
3) 4, 5
4) 5, 6
В каждом из них получаем отрицательный результат.
Всего комбинаций, когда такое случится - 17:
01. ННН, РНР, РР
02. РНР, ННН, РР
03. ННР, ННР, РР
04. ННР, НРН, РР
05. ННР, РНН, РР
06. НРН, ННР, РР
07. НРН, НРН, РР
08. НРН, РНН, РР
09. РНН, ННР, РР
10. РНН, НРН, РР
11. РНН, РНН, РР
12. РНР, ННР, НР
13. РНР, ННР, РН
14. РНР, НРН, НР
15. РНР, НРН, РН
16. РНР, РНН, НР
17. РНР, РНН, РН
В случаях с 1 по 11 мы на пятой проверке (позиции №7 и №8) находим две работающие батарейки
В случаях с 12 по 17, проверяя позиции №7 и №8, получаем на пятой проверке отрицательный результат. А значит, нам остаётся на шестой проверке взять позиции №1 и №3, которые во всех шести случаях окажутся рабочими.
Чем я занимаюсь в 3 ночи? Ужас =)))
НРН РНР РН,
НРН РНР НР?
Все равно 7 выходит, проверяем 1 и 3, получаем отрицательно, проверяем 4 и 6.
6 проверок недостаточно при таком подходе. Например: нерабочими могут оказаться батарейки 1, 2, 5, 7 и тогда все 7 проверок будут неудачными.
Согласен. Упустил ещё вариации. Либо просто: почему в 12-17 вариантах после 7 и 8 я проверяю 1 и 3, а не 4 и 6? По результатам первичной проверки они равнозначны, значит могут стоять и наоборот.
Всё равно кажется, что можно докрутить до 6 ходов. Либо надо доказывать, почему 6 не бывает :)
@@Milesius1989 Я знаю как сделать 6.5😀
У меня получилось 5. Выше я написал своё решение.
Возьмём произвольно две группы батареек.
1- рабочая, 0 - не рабочая.
Вариант #1
A-1lB-1lC-0lD-0
E-0lF-0lG-1lH-1
Проаеряем крайнее правые (1)
D-0 и H-1 = 0
Сдвигаем Нижний ряд в право.
A-1lB-1lC-0lD-0
H-1lF-0lG-1lE-0
Проверяем крайние правые (2)
D-0 и E-0 =0
Проверяем крайние левые (3)
A-1 и H-1 =1
Итог 3 попытки
Вариант #2
A-0lB-1lC-1lD-0
E-1lF-0lG-0lH-1
Проверяем крайние правые (1)
D-0 и H-1 =0
Сдвигаем в право нижний ряд
A-0lB-1lC-1lD-0
H-1lE-1lF-0lG-0
Проверяем крайние правые (2)
D-0 и G-1 =0
Проверяем крайние левые (3)
H-1 и A-0 =0
Понимаем что у нас может быть две ситуации изначальной комбинации (можете сами проверить, расписывать долго):
1. A-0lB-1lC-1lD-0
E-1lF-0lG-0lH-1
2. A-0lB-0lC-0lD-0
E-1lF-1lG-1lH-1
Возвращаем манипуляции назад.
Проаеряем два средних в верхнем ряду (4)
Если ситуация 1, то:
B-1 и C-1 =1
Итог: 4 попытки
Если ситуация 2, то:
B-0 и C-0, а значит все нижнии рабочие.
Итог 4 попытки, если не считать, что 5 вы точно зажгете фонарь.
Вариант #3
A-0lB-0lC-0lD-0
E-1lF-1lG-1lH-1
Проверяем правые батарейки (1)
D-0 и H-1 =0
Сдвигаем батарейки в право.
Проаеряем правые, проверяем левые, (3) и мы снова в варианте #2
1-2,3-4,5-6 а это значит, что 7 и 8 либо рабочие обе либо одна.
7-1,7-2 проверяем 7 с первой парой (первая пара может быть нерабочая)
8-3,8-4 проверяем 8 со второй парой, что точно покрывает все случаи.
Вот вам и алгоритм, с делением на пары и капелькой логики.
Эммм, как бы проверить заряд батарейки можно просто слега приподняв батарейку на полсантиметра и отпустить. Пустой заряд батареи - приведет к ее падению. Заряженная батарейка будет более устойчивой и скорее всего удержится и падения не произойдет.
вы видели фонарь который не работает с заряженной и разряженной батарейкой? вот такие вот люди в альфа банке и сидят.
Забава в том, что фонарь включится, если одна из двух батареек будет заряжена, только светить будет тускло.
Можно поделить на пары, и если ни одна из пар не сработала, взять две любые пары и поменять в них местами по одной батарейке. Тогда получится одна пара с нерабочими и одна с рабочими. Далее за 2 раза понять какая пара рабочая. В итоге 6 ходов(4 хода на проверку изначальных четырех пар + два хода на проверку после обмена батарее между любыми двумя парами).
Нет гарантии, что при замене батареек, вы поменяете именно рабочую с нерабочей
Я бы просто быстренько перебрал батарейки пока некоторые ходят за тестером. Есть еще второй вариант надкусить две батарейки и точно заработает)
Минимальное количество попыток - 1. Вы сразу можете наткнуться на "заряженные батарейки". Если вы, конечно, вообще понимаете, о чем говорите. Потому что заряжаются только аккумуляторы, не батарейки.
У меня есть такой фонарь. И! Самое главное. С одной разряженной батарейкой, фонарь работает.
Твоя задача из луз обманка!
Естественно не только одна батарейка, их две, в фонарике. Одна батарейка разряженная, а вторая батарейка нулевая.
Не нужно мне писать, мол фонарь на две батареи не может работать с одной разряженной батарейкой. Не умничайте, будете выглядеть глупо!
3 попытки - если одна батарейка из пары заряжена, то фонарь будет работать.
Понятно дело что , имеется в виду не разряженная батарея, а не исправная, потому как хорошая батарея плюс разряженная зажжет лампу, только тускло. Отбросим это. Но 8 попыток и 7 "огромная" разница конечно 😂. Можно сказать скачек в будущее, прибыль банка теперь стремится в космос.
В реальности, если одна батарейка села, вторая рабочая, фонарь светить будет
Возьму мультиметр и замерю напряжение на каждой батарейки по отдельности, а потом выставлю заряженные в фонарь.
У меня глупый вопрос - а фонарь разве не будет чуточку гореть, если одна из батареек полностью разряжена, а другая полностью заряжена? Вроде как, у меня такое уже было в жизни и он горел. Но могу и ошибаться.
с 5 попытки, так как по условию и рисунку в фонаре уже 2 батарейки от которых он работает и 8 у нас есть, просто убрав одну в самом худшем варианте с 5 раза найдешь другую заряженную.