07.07.2023

ЕГЭ по информатике. Задание 8. Сколько существует шестнадцатеричных трехзначных чисел, в которых все цифры различны и никакие две четные или две нечетные цифры не стоят рядом? Решение на языке Python

Задача. Сколько существует шестнадцатеричных трехзначных чисел, в которых все цифры различны и никакие две четные или две нечетные цифры не стоят рядом?

Приведем решение задачи на языке Python

Как будем решать задачу

Получим все возможные трехзначные шестнадцатеричные числа функцией product - кортеж цифр x:

abc = '0123456789ABCDEF'

for x in product(abc, repeat = 3):

Функция product аналогична функции cartesian в PascalABC.NET.

Выполним проверку

  • первая цифра числа не равна 0 (число должно быть трехзначным): x[0]!='0'
  • все цифры числа различны (длина множества цифр равна количеству цифр в числе): len(set(x)) == len(x)
  • четность у соседних цифр различна: int(x[0],16) % 2 != int(x[1],16) % 2 and int(x[1],16) % 2 != int(x[2],16) % 2

Если все условия выполняются, будем копить счетчик k

Программа решения задачи на языке Python

from itertools import *

abc = '0123456789ABCDEF'

k = 0

for x in product(abc, repeat = 3):

    if x[0]!='0':

        if len(set(x)) == len(x):

            if int(x[0],16) % 2 != int(x[1],16) % 2 and int(x[1],16) % 2 != int(x[2],16) % 2:

                k+=1

print(k)

Ответ: 840


Как решить комбинаторную задачу про слова. Валя составляет шестибуквенные слова из букв слова ГРОЗА

Читать

Лера составляет 5-буквенные слова из букв слова ЛОГАРИФМ (перестановки)

Читать

Все шестибуквенные слова, составленные из букв МАНГУСТ, записаны в алфавитном порядке и пронумерованы (декартово произведение)

Читать

Комментариев нет:

Отправить комментарий