Задача про программистов и подбор пароля
easy

Задача про программистов и подбор пароля

Как за три попытки определить пароль.

Java — это не будущее, это уже настоящее
Изучите программирование на Java.
Начать бесплатно
Java — это не будущее, это уже настоящее

Два программиста поспорили друг с другом про подбор паролей. Первый говорил, что невозможно всего за три попытки понять, какой из трёх паролей относится к какому из трёх сервисов. Второй программист утверждал, что за три попытки он легко это выяснит. Кто из них прав, если полные условия спора такие:

  1. Есть три логина от разных сервисов в интернете.
  2. Есть пароль от каждого сервиса, но непонятно, какой пароль от какого сервиса.
  3. Суммарно есть три попытки ввода логина и пароля. Можно выбирать любой сервис и любой пароль, но таких выборов всего можно сделать три.
  4. Хватит ли трёх таких попыток, чтобы понять, какой пароль к какому сервису относится?

Обозначим пароли буквами X, Y и Z, а сервисы — Сервис1, Сервис2 и Сервис3. Это поможет нам не запутаться при решении, что к чему будет относиться.

Первая попытка: берём Сервис1 и пробуем к нему пароль X. Если мы угадали с первой попытки, то у нас остаётся 2 попытки на 2 оставшихся сервиса — этого достаточно, чтобы выяснить, какой пароль откуда.

Если мы не угадали и пароль X не подходит к Сервису1,  значит, этот пароль точно подходит к Сервисам 2 или 3. Запомним эту мысль и пойдём дальше.

Вторая попытка: берём всё тот же Сервис1 и пробуем к нему пароль Y. Если подходит, то третьей попыткой берём Сервис2 и пробуем к нему пароль X (вспомните вывод из первой попытки). Если тоже подходит, то пароль Z относится к Сервису3, а если нет, то, наоборот, пароль Z относится к Сервису2, а X — к Сервису3. 

👉 По условиям спора нам нужно не зайти в каждый сервис, а просто понять, какой пароль откуда. Поэтому даже если на третьей попытке мы не угадаем с паролем, это поможет нам выяснить, какой пароль к чему относится, и выиграть спор.

Если мы не угадали на второй попытке и пароль Y не подходит к Сервису1, то можно сделать такие выводы:

  • к Сервису1 точно подходит пароль Z;
  • пароль Y подходит к Сервисам 2 или 3.

Эти выводы нам пригодятся на последней попытке.

Третья попытка. Мы уже знаем, что к Сервису1 точно подходит пароль Z. Это значит, что два других пароля X и Y относятся к Сервисам 2 и 3. Попробуем зайти в Сервис2 с паролем X:

  • если сработает, то к Сервису3 подходит пароль Y и мы выиграли спор;
  • если не сработает, то к Сервису3 подходит пароль X, а к Сервису2 — пароль Y, и мы выиграли спор.

Получается, что второй программист был прав — трёх попыток будет достаточно.

Java — это не будущее, это уже настоящее
Изучите программирование на Java и станьте тем, кто поддерживает современную ИТ-инфраструктуру во всём мире
Начать бесплатно
Java — это не будущее, это уже настоящее Java — это не будущее, это уже настоящее Java — это не будущее, это уже настоящее Java — это не будущее, это уже настоящее
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
Задача Эйнштейна

Учёный утверждал, что только 2% людей могут решить в уме эту задачу (так говорят в Википедии).

hard
Коктейльная задача про доли и крепость

Ну, будем!

easy
Задача про полторы белки

Не спрашивайте, просто попробуйте решить.

easy
8 интересных задач про цифры
5 интересных задач про цифры

Подборка для тех, кто любит подумать.

medium
Задача про начальника транспортного цеха

Что быстрее — вспомнить формулы за 7 класс или написать программу для решения?

easy
Задача про девопсов и обед
Задача про девопсов и обед

Помогите айтишникам успеть на перерыв

easy
Задачка: узнать среднюю зарплату в строгой компании
Задачка: узнать среднюю зарплату в строгой компании

Непростая задачка против звериного оскала капитализма.

easy
Лучшие задачи на вероятности и случайности

Вероятно, вы найдёте верный ответ.

medium
Задача про квадраты, которую никто не может решить
Задача про квадраты, которую никто не может решить

Но вы сможете

easy