Задача к ЕГЭ по информатике на тему «задачи под вебы» №43

Задача с сайта https://kpolyakov.spb.ru/

В файле электронной таблицы 9-218.xls в каждой строке записаны четыре натуральных числа. Определите количество строк таблицы, для которых выполнены следующие условия:

– в строке первое и последнее число не совпадают ни с минимальным, ни с максимальным числом строки;

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

Решение в Excel

Для начала найдем максимальное и минимальное число. Для этого в ячейки E1  и F 1  запишем соответственно формулы:

= МА КС (A1 : D1 )

= М ИН (A1 : D1)

и растянем их вниз до конца таблицы.

В столбце G  проверим первое условие. Для этого в ячейку G1  запишем формулу:

= ЕС ЛИ (И (A1 <> E1;E1 < > D1;A1 < > F1;D1 < > F1;);1;0) » class=»math-display» src=»/images/inform/reshen/reshen-7755-7.svg» width=»auto»></div>
<p class= и растянем ее вниз до конца таблицы.

В столбце H  проверим второе условие. Для этого в ячейку H1  запишем формулу:

= ЕСЛ И(О СТА Т(E1 − F 1;ABS (A1 − D1 )) = 0;1;0)

и растянем ее вниз до конца таблицы.

В столбце I  проверим оба условия. Для этого в ячейку I1  запишем формулу

= G1 ∗H1

и растянем ее вниз до конца таблицы.

Но здесь есть нюанс: в некоторых ячейках присутствует запись #ДЕЛ/0!, что означает ошибку при делении на 0. Она сильно помешает при поиске суммы по столбцу I  , поэтому воспользуемся фильтром по столбцу I  и уберем все строки, в которых присутствует значение #ДЕЛ/0!.

Выделим столбец I  и получаем количество нужных строк – 276.

Программное решение

f = open(’9-218.csv’)
c = 0
for i in f:
    a = list(map(int, i.split(’;’)))
# Находим максимальное и минимальное значения в списке a
    mx = max(a)
    mn = min(a)
# Вычисляем разницу между максимальным и минимальным значениями
    r1 = mx - mn
# Вычисляем модуль разности между первым и четвертым элементами списка a
    r2 = abs(a[0] - a[3])
# Проверяем, что первый и четвертый элементы не равны
    if r2 != 0:
# Максимальное значение не равно первому и четвертому элементам,
# а минимальное значение не равно первому и четвертому элементам.
# Также разность макс. и мин. числа кратна разности оставшейся пары чисел
        if (mx != a[0]) and (mx != a[3]) and (mn != a[0]) and (mn != a[3])
        and (r1 % r2 == 0):
            c += 1 # Если все условия выполнены, увеличиваем счетчик c на 1
print(c)

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