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

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

– число является простым.

– число больше 10.

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

Excel

Откроем файл электронной таблицы и на первой строке распишем все числа от 2 до максимального в файле (он равен 100). Получим такую таблицу:

PIC

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

=ЕСЛИ($A2>B$1;ЕСЛИ(ОСТАТ($A2;B$1)<>0;0;1);2)

Если текущее число сверху больше числа в строке, то просто пишем 2, это означает, что нас не волнуют делители равные или большие числа в строке. Если число в строке больше делителя, то мы проверяем, что если остаток при делении на данное число не равен 0, то это число не является делителем и ставим 0, иначе – 1, значит, это число является делителем. Осталось только записать проверку строки:

=ЕСЛИ(И(A2>10;СЧЁТЕСЛИ(B2:CV2;1)=0);1;0)

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

Python

def simple(x):  # Функция проверки, что число является простым
    for d in range(2, int(x ** 0.5) + 1):
        if x % d == 0:
            return False
    return x > 1  # Простое число также обязательно больше 1 (чтобы не учитывать 1, как простое)


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

a = [int(i) for i in f]  # Считываем числа из файла
m = [x for x in a if simple(x) and x > 10]  # Получаем список чисел, удовлетворяющих условиям
print(len(m))

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