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

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

– в строке есть одно число, которое повторяется дважды, остальные пять чисел различны;

– максимальное из чисел, стоящих на нечетных позициях, больше максимального из чисел, стоящих на четных позициях.

Примечание: отсчет позиций начинается с 1.

В ответе запишите только число.

Решение Excel:

В ячейку H1 впишем формулу:

=СЧЁТЕСЛИ($A1:$G1;A1)

и растянем ее вправо до столбца N1 включительно и вниз до конца таблицы. Таким образом мы посчитали сколько раз каждое число встречается в строке.

В ячейку O1 впишем формулу:

=ЕСЛИ(СУММ(H1:N1)=9;1;0)

и растянем её вниз до конца таблицы. Таким образом мы отобрали строки, где одно число повторяется дважды, а остальные числа различны.

В ячейку P1 впишем формулу:

=ЕСЛИ(МАКС(A1;C1;E1;G1)>МАКС(B1;D1;F1);1;0)

и растянем её вниз до конца таблицы. Таким образом мы отобрали строки, удовлетворяющие второму условию.

Теперь найдем строки, которые подходят под оба условия. Для этого запишем в ячейку Q1 формулу:

=O1*P1

И растянем её вниз до конца таблицы. Выделяем столбец Q и видим, что сумма всех строк равна 1618. Это и будет являться ответом.

PIC

Решение программой:

f = open(’9.txt’, ’r’)
count = 0

for line in f:
    nums = list(map(int, line.split()))
    unique_nums = set(nums)
    if len(unique_nums) == 6 and any(nums.count(x) == 2 for x in unique_nums):
        odd_positions = [nums[i] for i in range(0, 7, 2)]
        even_positions = [nums[i] for i in range(1, 7, 2)]
        if max(odd_positions) > max(even_positions):
            count += 1

print(count)



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