Задача к ЕГЭ по информатике на тему «обработка числовой последовательности» №7

В файле 7.txt имеется последовательность натуральных чисел. Найдите количество пар элементов последовательности, произведение которых кратно 71 и равно произведению элементов какой-либо другой пары (в которой отличается индекс хотя бы одного из элементов, образующих пару).

Под парой в данной задаче подразумевается два различных элемента последовательности.

В первой строке файла содержится число N (10 ≤ N ≤ 100  ), каждая из следующих N строк файла содержит одно натуральное число, не превышающее 10000.

Пример входного файла:

6

2

5

4

2

4

71

Для указанных входных данных ответом является число 4.

Пояснение: В этом наборе можно выбрать две пары (71 и 2), и две пары (71 и 4). Пара (71 и 5) не подходит, потому что нет другой пары, произведение элементов которой равно 71*5. Ответ: 4.

f = open(’7.txt’)
n = int(f.readline())
a = [int(i) for i in f.readlines()]
f.close()
count = 0
# масссив, в котором будем хранить произведения всевозможных пар
p = []
for i in range(n):
    for j in range(i+1, n):
        p.append(a[i] * a[j])
for i in range(n):
    for j in range(i+1, n):
        if p.count(a[i] * a[j]) > 1 and (a[i] * a[j]) % 71 == 0:
            count += 1
print(count)

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