Задача к ЕГЭ по информатике на тему «Задачи, требующие математической базы» №5

Задание выполняется с использованием прилагаемых файлов.

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

Перенесем все данные из таблицы в текстовый документ

import itertools
f = open(’1.txt’) # копируем сюда все строчки из файла
n = 100 # всего строк
count = 0 # счетчик
for i in range(n):
    # разбиваем строку по символу t (tab)
    a = [int(x) for x in f.readline().split(’t’)]
    # так как мы не знаем какая переменная в какой ячейке нам нужно перебрать все варианты их перестановок
    # используем itertools.permutations по массиву a
    for j in itertools.permutations(a):
        # переменная j --- кортеж из 4-ёх значений
        # внутри данного цикла мы рассмотрим все перестановки возможные перестановки внутри j
        if j[0] == j[1] * j[2] + j[3]: # если выражение сошлось с данным уравнением
            count += 1 # увеличиваем счетчик
            break # если данная перестановка нам подошла, то дальше смысла проверять другие перестановки в
            # данной строке нет
print(count)

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