Задача к ЕГЭ по информатике на тему «Количество строк, удовлетворяющих условию» №5

Откройте файл электронной таблицы, содержащей в каждой строке шесть неотрицательных чисел. Определите количество строк таблицы, для чисел которых выполнены оба условия:

– сцепленное число из всех чисел в десятичной системе счисления кратно 4.

– сцепленное число из первых трёх чисел строки в десятичной системе счисления меньше сцепленного числа из последних трёх чисел в десятичной системе счисления.

Под сцеплением в данной задаче подразумевается склейка чисел подряд. Сцепленные числа рассматриваются как числа, записанные в двоичной системе счисления. В ответе запишите только число.

Excel

Откроем файл электронной таблицы и для начала сцепим все числа строки в одно число. Запишем формулу:

=СЦЕПИТЬ(A1;B1;C1;D1;E1;F1)

Теперь сцепим в одно число первые три числа строки, для этого запишем формулу:

=СЦЕПИТЬ(A1;B1;C1)

Для второго числа из второй тройки строки запишем такую формулу:

=СЦЕПИТЬ(D1;E1;F1)

Переведем все эти числа в 10сс при помощи функции ДВ.В.ДЕС. Получим такую таблицу:

PIC

Проверим строку на условия, для этого запишем формулу:

=ЕСЛИ(И(ОСТАТ(J1;4)=0;K1<L1);1;0)

Ответом будет количество единиц.

Python

f = open(’9.txt’)  # Открываем нужный файл

a = [’’.join(i.split()) for i in f]  # Получаем сразу склеенные числа
count = 0  # Cчетчик строк, подходящих под условие

for s in a:  # Перебираем уже сцепленные двоичные записи
    # Используем int(s, 2) для перевода в 10-ричную запись
    num = int(s, 2)  # Число из всех чисел
    left = int(s[:3], 2)  # Число из первых трёх чисел
    right = int(s[-3:], 2)  # Число из последних трёх чисел
    if num % 4 == 0 and left < right:  # Если оба условия выполняются
        count += 1  # Увеличиваем счётчик

print(count)  # Выводим ответ

Ответ: 49
Оцените статью
Я решу все!