Задание 17. Обработка числовой последовательности. ЕГЭ 2026 по информатике
Средний процент выполнения: 70.9%
Ответом к заданию 17 по информатике может быть цифра (число) или слово.
Подпишись на суперполезные материалы
Задачи для практики
Задача 1
В файле содержится последовательность целых чисел. Элементы принимают целые значения от -10000 до 10000 включительно. Определите и запишите в ответе два значения:
1) Количество пар элементов последовательности, в которых сумма чисел делится на 23
2)Минимальную сумму двух элементов в паре среди всех таких пар.
В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
В качестве ответа запишите сначала количество, а потом минимальную сумму без пробелов и разделителей. Если один из ответов отрицательный, записать его по модулю. Например, если количество чисел 99, а минимум -1234, то ответ 991234.
Решение
f = open("fileotr8.txt")
kol = 0
Min = 20000
pred = -10001
for x in f:
    x = int(x)
    if pred != -10001:
        if (pred + x) % 23 == 0:
            kol += 1
            if pred+x < Min:
                Min = pred+x
    pred = x
print(kol, Min)
Количество: 191, сумма: -18078.
Задача 2
ДЛЯ 2022
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 1 до 100 000 включительно. Определите количество пар последовательности, в которых хотя бы одно число делится на 7, а сумма элементов пары не более максимального элемента последовательности, кратного 7. В ответе запишите два числа через пробел количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
Для решения этого номера нужно написать программу. Ниже пример на Python
f = open('17.txt', 'r')
a = [int(x.strip()) for x in f]
max_7 = float('-inf')
for x in a:
    if abs(x) % 7 == 0:
        max_7 = max(max_7, x)
k = 0
max_sum = float('-inf')
for i in range(len(a) - 1):
    if (a[i] % 7 == 0 or a[i + 1] % 7 == 0) and (a[i] + a[i + 1]) <= max_7:
        k += 1
        max_sum = max(max_sum, a[i] + a[i + 1])
print(k, max_sum)
                Задача 3
В файле содержится последовательность целых чисел. Элементы принимают целые значения от -10000 до 10000 включительно. Определите и запишите в ответе два значения:
1) Количество пар элементов последовательности, в которых хотя бы одно число делится на 10
2) Минимальную сумму двух элементов в паре среди всех таких пар.
В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
В качестве ответа запишите сначала количество, а потом минимальное число без пробелов и разделителей. Если один из ответов отрицательный, записать его по модулю. Например, если количество чисел 99, а минимум -1234, то ответ 991234.
Решение
f = open("fileotr2.txt")
kol = 0
Min = 20000
pred = -10001
for x in f:
    x = int(x)
    if pred != -10001:
        if pred % 10 == 0 or x % 10 == 0:
            kol += 1
            if pred+x < Min:
                Min = pred+x
    pred = x
print(kol, Min)
Количество: 1145, сумма: -19583.
Задача 4
В файле содержится последовательность целых чисел. Элементы принимают целые значения от -10000 до 10000 включительно. Определите и запишите в ответе два значения:
1) Количество пар элементов последовательности, в которых произведение чисел оканчивается на 8
2)Максимальную сумму двух элементов в паре среди всех таких пар.
В данной задаче под парой подразумеваются два числа, расположенных на разных местах в наборе, порядок в паре неважен.
В качестве ответа запишите сначала количество, а потом максимальное число без пробелов и разделителей. Если один из ответов отрицательный, записать его по модулю. Например, если количество чисел 99, а максимум -1234, то ответ 991234.
Решение
f = open("fileotr9.txt")
kol = 0
Max = -20000
pred = -10001
a = []
for x in f:
    x = int(x)
    a.append(x)
for i in range(len(a)):
    for j in range(i+1, len(a)):
        if abs(a[i] * a[j]) % 10 == 8:
            kol += 1
            if a[i]+a[j]> Max:
                Max = a[i]+a[j]
print(kol, Max)
Количество: 116796, сумма: 19924.
Задача 5
В файле содержится последовательность целых чисел. Элементы принимают целые значения от -10000 до 10000 включительно. Определите и запишите в ответе два значения:
1) Количество пар элементов последовательности, в которых хотя бы одно число делится на 4
2) Максимальную сумму двух элементов в паре среди всех таких пар.
В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
В качестве ответа запишите сначала количество, а потом максимальную сумму без пробелов и разделителей. Если один из ответов отрицательный, записать его по модулю. Например, если количество чисел 99, а максимум -1234, то ответ 991234.
Решение
f = open("fileotr1.txt")
kol = 0
Max = -20000
pred = -10001
for x in f:
    x = int(x)
    if pred != -10001:
        if pred % 4 == 0 or x % 4 == 0:
            kol += 1
                if pred+x > Max:
                    Max = pred+x
    pred = x
print(kol, Max)
Количество: 2726, сумма: 19717.
Задача 6
В файле содержится последовательность целых чисел. Элементы принимают целые значения от -10000 до 10000 включительно. Определите и запишите в ответе два значения:
1) Количество пар элементов последовательности, в которых оба делятся на 8
2) Максимальную сумму двух элементов в паре среди всех таких пар.
В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
В качестве ответа запишите сначала количество, а потом максимальное число без пробелов и разделителей. Если один из ответов отрицательный, записать его по модулю. Например, если количество чисел 99, а максимум -1234, то ответ 991234.
Решение
f = open("fileotr3.txt")
kol = 0
Max = -20000
pred = -10001
for x in f:
    x = int(x)
    if pred != -10001:
        if pred % 8 == 0 and x % 8 == 0:
            kol += 1
            if pred+x > Max:
                Max = pred+x
    pred = x
print(kol, Max)
Количество: 69, сумма: 18176.
Задача 7
В файле содержится последовательность целых чисел. Элементы принимают целые значения от -10000 до 10000 включительно. Определите и запишите в ответе два значения:
1) Количество пар элементов последовательности, в которых сумма чисел делится на 10
2)Максимальную сумму двух элементов в паре среди всех таких пар.
В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
В качестве ответа запишите сначала количество, а потом максимальное число без пробелов и разделителей. Если один из ответов отрицательный, записать его по модулю. Например, если количество чисел 99, а максимум -1234, то ответ 991234.
Решение
f = open("fileotr7.txt")
kol = 0
Max = -20000
pred = -10001
for x in f:
    x = int(x)
    if pred != -10001:
        if (pred + x) % 10 == 0:
            kol += 1
            if pred+x > Max:
                Max = pred+x
    pred = x
print(kol, Max)
Количество: 648, сумма: 18780.
Задача 8
В файле содержится последовательность целых чисел. Элементы принимают целые значения от -10000 до 10000 включительно. Определите и запишите в ответе два значения:
1) Количество пар элементов последовательности, в которых произведение чисел делится на 15
2)Максимальную сумму двух элементов в паре среди всех таких пар.
В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
В качестве ответа запишите сначала количество, а потом максимальное число без пробелов и разделителей. Если один из ответов отрицательный, записать его по модулю. Например, если количество чисел 99, а максимум -1234, то ответ 991234.
Решение
f = open("fileotr5.txt")
kol = 0
Max = -20000
pred = -10001
for x in f:
    x = int(x)
    if pred != -10001:
        if pred * x % 15 == 0:
            kol += 1
            if pred+x > Max:
                Max = pred+x
    pred = x
print(kol, Max)
Количество: 1064, сумма: 19543.
Задача 9
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите количество пар последовательности, в которых хотя бы одно число делится на 3, а сумма элементов пары не более максимального элемента последовательности, кратного 3. В ответе запишите подряд два числа без разделителей: количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
Нам тут тоже необходимо выполнить 2 прохода, поэтому при первом проходе сохраним всё в список и найдём максимальное число
a = []
max_3 = -10001
f = open('17_1.txt', 'r')
for line in f:
    x = int(line)
    a.append(x)
    if x % 3 == 0:
        max_3 = max(max_3, x)
sum_max = -20000
k = 0
for i in range(len(a) - 1):
    if (a[i] % 3 == 0 or a[i + 1] % 3 == 0) and a[i] + a[i + 1] <= max_3:
        k += 1
        sum_max = max(sum_max, a[i] + a[i + 1])
print(k, sum_max)
                Задача 10
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите количество пар, в которых хотя бы один из двух элементов больше, чем среднее арифметическое всех чисел в файле. В ответе запишите два числа без разделителей: сначала количество найденных пар, а затем – максимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
Для решения задачи нужно сначала найти среднее арифметическое и потом уже перебирать пары. Я предлагаю сохранить всё в список, при первом проходе, и найти среднее арифметическое. Можно воспользоваться библиотекой statistics, а можно просто разделить сумму на количество.
from statistics import mean
a = []
f = open('17_1.txt', 'r')
for line in f:
    a.append(int(line))
avg = mean(a)  # avg = sum(a) / len(a)
sum_max = -20000
k = 0
for i in range(len(a) - 1):
    if a[i] > avg or a[i + 1] > avg:
        k += 1
        sum_max = max(sum_max, a[i] + a[i + 1])
print(k, sum_max)
                Задача 11
В файле содержится последовательность целых чисел. Элементы принимают целые значения от -10000 до 10000 включительно. Определите и запишите в ответе два значения:
1) Количество пар элементов последовательности, в которых произведение чисел делится на 26
2)Минимальную сумму двух элементов в паре среди всех таких пар.
В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
В качестве ответа запишите сначала количество, а потом минимальное число без пробелов и разделителей. Если один из ответов отрицательный, записать его по модулю. Например, если количество чисел 99, а минимум -1234, то ответ 991234.
Решение
f = open("fileotr6.txt")
kol = 0
Min = 20000
pred = -10001
for x in f:
    x = int(x)
    if pred != -10001:
        if pred * x % 26 == 0:
            kol += 1
            if pred+x < Min:
                Min = pred+x
    pred = x
print(kol, Min)
Количество: 462, сумма: -18765.
Задача 12
В файле содержится последовательность целых чисел. Элементы принимают целые значения от -10000 до 10000 включительно. Определите и запишите в ответе два значения:
1) Количество пар элементов последовательности, в которых оба числа делятся на 3
2) Минимальную сумму двух элементов в паре среди всех таких пар.
В данной задаче под парой подразумеваются два числа, расположенных на разных местах в наборе, порядок в паре неважен.
В качестве ответа запишите сначала количество, а потом минимальное число без пробелов и разделителей. Если один из ответов отрицательный, записать его по модулю. Например, если количество чисел 99, а минимум -1234, то ответ 991234.
Решение
f = open("fileotr4.txt")
kol = 0
Min = 20000
pred = -10001
a = []
for x in f:
    x = int(x)
    a.append(x)
for i in range(len(a)):
    for j in range(i+1, len(a)):
        if a[i] % 3 == 0 and a[j] % 3 == 0:
            kol += 1
            if a[i]+a[j]<Min:
                Min = a[i]+a[j]
print(kol, Min)
Количество: 306936, сумма: -19971.
Задача 13
В файле содержится последовательность целых чисел. Элементы принимают целые значения от -10000 до 10000 включительно. Определите и запишите в ответе два значения:
1) Количество пар элементов последовательности, в которых произведение чисел оканчивается на 12
2)Максимальную сумму двух элементов в паре среди всех таких пар.
В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
В качестве ответа запишите сначала количество, а потом максимальное число без пробелов и разделителей. Если один из ответов отрицательный, записать его по модулю. Например, если количество чисел 99, а максимум -1234, то ответ 991234.
Решение
f = open("fileotr10.txt")
kol = 0
Max = -20000
pred = -10001
for x in f:
    x = int(x)
    if pred != -10001:
        if abs(x * pred) % 100 == 12:
            kol += 1
            if x+pred> Max:
                Max = x+pred
    pred = x
print(kol, Max)
Количество: 83, сумма: 18553.
Задача 14
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите количество пар последовательности, в которых одно число кратно 5, а другое кратно 7. В ответе запишите подряд два числа без разделителей: максимальную сумму внутри пары, а затем количество чисел в найденных парах (если одно число встречается в нескольких парах, учитываем его несколько раз). В данной задаче под парой подразумевается два числа стоящие на разных позициях элемента последовательности. Порядок расположения чисел в паре неважен.
Решение
a = []
f = open('17.txt', 'r')
for line in f:
    a.append(int(line))
k = 0
max_sum = -20001
for i in range(len(a)):
    for j in range(i, len(a)):
        if i != j:
            if (a[i] % 5 == 0 and a[j] % 7 == 0) or (a[j] % 5 == 0 and a[i] % 7 == 0):
                k += 1
                max_sum = max(max_sum, a[i] + a[j])
print(max_sum, k * 2, sep='')
                Задача 15
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите количество пар последовательности, в которых одно число кратно 5, а другое кратно 7. В ответе запишите подряд два числа без разделителей: максимальную сумму внутри пары, а затем количество найденных пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
a = []
f = open('17_1.txt', 'r')
for line in f:
    x = int(line)
    a.append(x)
sum_max = -20000
k = 0
for i in range(len(a) - 1):
    if (a[i] % 5 == 0 and a[i + 1] % 7 == 0) or \
            (a[i] % 7 == 0 and a[i + 1] % 5 == 0):
        k += 1
        sum_max = max(sum_max, a[i] + a[i + 1])
print(sum_max, k)
                Задача 16
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите количество пар последовательности, в которых оба числа чётные, а сумма элементов пары не более максимального элемента последовательности, кратного 5. В ответе запишите подряд два числа без разделителей: минимальную сумму внутри пары, а затем количество найденных пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
a = []
max_5 = -10000
f = open('17_1.txt', 'r')
for line in f:
    x = int(line)
    a.append(x)
    if x % 5 == 0:
        max_5 = max(max_5, x)
sum_min = 20000
k = 0
for i in range(len(a) - 1):
    if a[i] % 2 == 0 and a[i + 1] % 2 == 0 and a[i] + a[i + 1] <= max_5:
        k += 1
        sum_min = min(sum_min, a[i] + a[i + 1])
print(sum_min, k)
                Задача 17
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 
–10 000 до 10 000 включительно. Определите количество пар последовательности, в которых хотя бы одно число делится на 4, а сумма элементов пары не более максимального элемента последовательности, кратного 5. В ответе запишите подряд два числа без разделителей:  количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
Решение
Нам тут тоже необходимо выполнить 2 прохода, поэтому при первом проходе сохраним всё в список и найдём максимальное число
a = []
max_5 = -10000
f = open('17_1.txt', 'r')
for line in f:
    x = int(line)
    a.append(x)
    if x % 5 == 0:
        max_5 = max(max_5, x)
sum_max = -20000
k = 0
for i in range(len(a) - 1):
    if (a[i] % 4 == 0 or a[i + 1] % 4 == 0) and a[i] + a[i + 1] <= max_5:
        k += 1
        sum_max = max(sum_max, a[i] + a[i + 1])
print(k, sum_max)
                Задача 18
В файле содержится последовательность целых чисел. Элементы принимают целые значения от 1 до 10000 включительно. Определите количество чисел и минимальное число, которые делятся на 3 и 31, но не делятся на 2 и 7.
В качестве ответа запишите сначала количество, а потом минимальное число без пробелов и разделителей. Например, если количество чисел 99, а минимум 1234, то ответ 991234.
Для выполнения задания рекомендуется написать программу или воспользоваться редактором электронных таблиц.
Решение
Пример решения задачи на Python:
count = 0
Min = 10000
f = open("file.txt")
for x in f:
x = int(x)
if (x % 3 == 0 and x % 31 == 0 and
x % 2 != 0 and x % 7 != 0):
count += 1
if x < Min:
Min = x
print(count, Min)
Задача 19
В файле содержится последовательность целых чисел. Элементы принимают целые значения от 1 до 10000 включительно. Определите минимум и максимум среди чисел, которые оканчиваются на 7 и делятся на 13.
В качестве ответа запишите сначала минимум, а потом максимум без пробелов и разделителей. Например, если минимум равен 99, а максимум - 1234, то ответ 991234.
Для выполнения задания рекомендуется написать программу или воспользоваться редактором электронных таблиц.
Решение
Пример решения задачи на Python:
Max = 0
Min = 10000
f = open("file.txt")
for num in f:
num = int(num)
if x % 10 == 7 and x % 13 == 0:
if x > Max:
Max = x
if x < Min:
Min = x
print(Min, Max)
Задача 20
В файле содержится последовательность целых чисел. Элементы принимают целые значения от 1 до 1000 включительно. Определите количество чисел и максимальное число, которые делятся на 7, но не делятся на 3, 11 и 49.
В качестве ответа запишите сначала количество, а потом максимум без пробелов и разделителей. Например, если количество чисел 99, а максимум 1234, то ответ 991234.
Для выполнения задания рекомендуется написать программу или воспользоваться редактором электронных таблиц.
Решение
Пример решения задачи на Python:
Max = 0
count = 0
f = open("file.txt")
for num in f:
num = int(num)
if (num % 7== 0 and num % 3 != 0 and
num % 11 != 0 and num % 49 != 0):
count += 1
if num > Max:
Max = num
print(count, Max)
Рекомендуемые курсы подготовки
            - Узнаешь всё про кодирование: что это такое и как происходит
 - Познакомишься с Условием Фано: как оно примняется и почему важно
 - Научишься считать колиечтсво информации и сколько под неё нужно выделить памяти
 
на бесплатном курсе Турбо ЕГЭ