Найти в Дзене

Разбор номера 6782 ЕГЭ по информатике #8

Уровень сложности средний из-за условия: "при этом никакая нечётная цифра не стоит рядом с цифрой 6". Сделали для Вас два варианта решения 🫡 Условие: № 6782 (Уровень: Средний) (PRO100 ЕГЭ) Определите количество шестизначных чисел, записанных в восьмеричной системе счисления, в записи которых есть ровно две цифры 6, при этом никакая нечётная цифра не стоит рядом с цифрой 6. Пример шестизначного числа, записанного в восьмеричной системе счисления – 123456_8. Решение: from itertools import product
count = 0
for s in product('01234567', repeat=6):
temp = ''.join(s)
if temp[0] != '0':
if temp.count('6') == 2:
if all(x not in temp for x in '16 61 36 63 56 65 76 67'.split()):
count += 1
print(count) Комментарии к каждой строчки кода: Ответ: 5229 Информатика ЕГЭ | itpy 👨‍💻
Оглавление
Интересная задачка на комбинаторику от PRO100 ЕГЭ, взята с сайта kompege.ru
Интересная задачка на комбинаторику от PRO100 ЕГЭ, взята с сайта kompege.ru

Уровень сложности средний из-за условия: "при этом никакая нечётная цифра не стоит рядом с цифрой 6". Сделали для Вас два варианта решения 🫡

Условие: № 6782 (Уровень: Средний)

(PRO100 ЕГЭ) Определите количество шестизначных чисел, записанных в восьмеричной системе счисления, в записи которых есть ровно две цифры 6, при этом никакая нечётная цифра не стоит рядом с цифрой 6.

Пример шестизначного числа, записанного в восьмеричной системе счисления – 123456_8.

Решение:

-2

from itertools import product
count = 0
for s in product('01234567', repeat=6):
temp = ''.join(s)
if temp[0] != '0':
if temp.count('6') == 2:
if all(x not in temp for x in '16 61 36 63 56 65 76 67'.split()):
count += 1
print(count)

Комментарии к каждой строчки кода:

  • from itertools import product - Импортируем функцию product из модуля itertools.
  • count = 0 - Инициализируем переменную count со значением 0 (будем считать все подходящие значения сюда).
  • for s in product('01234567', repeat=6): - Начинаем цикл, перебирая все возможные комбинации из цифр '01234567' длиной 6 символов и сохраняем каждую комбинацию в переменную s.
  • temp = ''.join(s) - Преобразуем кортеж s в строку и сохраняем результат в переменную temp.
  • if temp[0] != '0': - Проверяем, если первый символ в temp не равен '0', выполняем следующие инструкции.
  • if temp.count('6') == 2: - Проверяем, если символ '6' встречается в temp ровно 2 раза и выполняем следующие инструкции.
  • if all(x not in temp for x in '16 61 36 63 56 65 76 67'.split()): - Проверяем, если все числа из списка '16 61 36 63 56 65 76 67' не встречаются в temp, то все условия выполнены.
  • count += 1 - И мы можем увеличивать значение переменной count на +1.
  • print(count) - Выводим значение переменной count.

Ответ: 5229

Информатика ЕГЭ | itpy 👨‍💻

Присоединяйтесь и готовьтесь вместе с нами: t.me/informatika_kege_itpy
Присоединяйтесь и готовьтесь вместе с нами: t.me/informatika_kege_itpy