Ограничение по времени: 1
секунда
Ограничение по памяти: 256
мегабайт
У радиолюбителя Алексея есть девятисегментный жидкокристаллический индикатор, который может показывать цифры от 0
до 9
в виде цифр «почтового индекса» После неудачного эксперимента индикатор повредился, и часть сегментов могла перегореть. Когда сегмент перегорает, индикатор теряет возможность показывать цифры, использующие этот сегмент.
Алексей уже выяснил, что индикатор всё ещё способен показать какие‑то n
цифр. Поэтому он просит вас помочь найти те цифры, которые гарантированно можно показать на этом индикаторе.
segments = {
0: [1, 1, 1, 1, 1, 1, 0],
1: [0, 1, 1, 0, 0, 0, 0],
2: [1, 1, 0, 1, 1, 0, 1],
3: [1, 1, 1, 1, 0, 0, 1],
4: [0, 1, 1, 0, 0, 1, 1],
5: [1, 0, 1, 1, 0, 1, 1],
6: [1, 0, 1, 1, 1, 1, 1],
7: [1, 1, 1, 0, 0, 0, 0],
8: [1, 1, 1, 1, 1, 1, 1],
9: [1, 1, 1, 1, 0, 1, 1]
}
В этом списке для каждой цифры указаны значения для каждого из сегментов индикатора. Значение 1 означает, что сегмент работает, а значение 0 - что сегмент сломан.
2. Создадим функцию `find_possible_digits`, которая будет принимать на вход список поломанных сегментов и возвращать список возможных цифр:
python
def find_possible_digits(broken_segments):
possible_digits = []
for digit, segment_values in segments.items():
is_possible = True
for segment, value in zip(broken_segments, segment_values):
if segment == 1 and value == 0:
is_possible = False
break
if is_possible:
possible_digits.append(digit)
return possible_digits
В этой функции мы проходимся по каждой цифре и сравниваем значения ее сегментов с значениями сломанных сегментов. Если все сегменты совпадают (то есть, сломанные сегменты и соответствующие им значения сегментов цифры равны 1), то добавляем цифру в список возможных цифр.
3. Вводим список поломанных сегментов:
python
broken_segments = [1, 0, 1, 1, 0, 0, 1]
Этот список можно изменять в зависимости от введенных данных.
4. Вызываем функцию `find_possible_digits` и выводим результат:
python
possible_digits = find_possible_digits(broken_segments)
print(possible_digits)
Вывод будет содержать список возможных цифр.
Таким образом, поиск возможных цифр на индикаторе был выполнен с помощью метода перебора и сравнения значений сегментов цифр с значениями сломанных сегментов. Этот код может быть использован для нахождения возможных цифр на индикаторе в других случаях с разными наборами сломанных сегментов и значений сегментов для каждой цифры.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет