Задание 17. Информатика. ЕГЭ. Поляков-6893

Просмотры: 135
Изменено: 1 февраля 2025

(Н. Сафронов) В файле содержится последовательность целых неотрицательных чисел, не превышающих \(10~000.\) Определите количество троек элементов последовательности, в которых каждое число содержит цифру \(3\) в десятичной записи, а сумма элементов такой тройки является простым числом. В ответе запишите два числа: сначала количество найденных троек, затем минимальную сумму элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности..

Файл с данными

Решение:

Python


def is_prime(n):
    if n == 0 or n == 1:
        return False
    if n == 2:
        return True
    for x in range(2, int(n**0.5) + 1):
        if n % x == 0:
            return False
    return True

base = ''
nums = [int(x) for x in open(base + '17.txt')]

q = 0
min_sum = float('inf')
for tr in zip(nums, nums[1:], nums[2:]):
    if all('3' in str(x) for x in tr) and is_prime(sum(tr)):
        q += 1
        min_sum = min(min_sum, sum(tr))
print(q, min_sum)

Ответ: \(13 \,\, 4327\)