Задание 17. Обработка числовой последовательности. ЕГЭ 2024 по информатике
Средний процент выполнения: 70.9%
Ответом к заданию 17 по информатике может быть цифра (число) или слово.
Задачи для практики
Задача 1
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –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='')
Задача 2
В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –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)
Задача 3
В файле содержится последовательность целых чисел. Элементы принимают целые значения от -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.
Задача 4
В файле содержится последовательность целых чисел. Элементы принимают целые значения от -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.
Задача 5
В файле содержится последовательность целых чисел. Элементы принимают целые значения от -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.
Задача 6
В файле содержится последовательность целых чисел. Элементы принимают целые значения от 1 до 10000 включительно. Определите количество и сумму чисел, которые делятся на 59, но не делятся на 2, 3 и 5.
В качестве ответа запишите сначала количество, а потом сумму без пробелов и разделителей. Например, если количество чисел 99, а сумма 1234, то ответ 991234.
Для выполнения задания рекомендуется написать программу или воспользоваться редактором электронных таблиц.
Решение
Пример решения задачи на Python:
count = 0
Sum = 0
f = open(«file.txt»)
for x in f:
x = int(x)
if (x % 59 == 0 and x % 2 != 0 and
x % 3 != 0 and x % 5 != 0):
count += 1
Sum += x
print(count, Sum)
Задача 7
В файле содержится последовательность целых чисел. Элементы принимают целые значения от 1 до 10000 включительно. Определите количество и сумму чисел, которые делятся на 29, но не делятся на 13, 17 и 31.
В качестве ответа запишите сначала количество, а потом сумму без пробелов и разделителей. Например, если количество чисел 99, а сумма 1234, то ответ 991234.
Для выполнения задания рекомендуется написать программу или воспользоваться редактором электронных таблиц.
Решение
Пример решения задачи на Python:
count = 0
Sum = 0
f = open(«file.txt»)
for x in f:
x = int(x)
if (x % 29 == 0 and x % 13 != 0 and
x % 17 != 0 and x % 31 != 0):
count += 1
Sum += x
print(count, Sum)
Задача 8
В файле содержится последовательность целых чисел. Элементы принимают целые значения от 1 до 10000 включительно. Определите количество и сумму чисел, которые делятся на 29, но не делятся на 13, 17 и 31.
В качестве ответа запишите сначала количество, а потом сумму без пробелов и разделителей. Например, если количество чисел 99, а сумма 1234, то ответ 991234.
Для выполнения задания рекомендуется написать программу или воспользоваться редактором электронных таблиц.
Решение
Пример решения задачи на Python:
count = 0
Sum = 0
f = open(«file.txt»)
for x in f:
x = int(x)
if (x % 29 == 0 and x % 13 != 0 and
x % 17 != 0 and x % 31 != 0):
count += 1
Sum += x
print(count, Sum)
Задача 9
В файле содержится последовательность целых чисел. Элементы принимают целые значения от 1 до 10000 включительно. Определите количество и сумму чисел, в составе которых есть ровно 3 девятки.
В качестве ответа запишите сначала количество, а потом сумму без пробелов и разделителей. Например, если количество чисел 99, а сумма 1234, то ответ 991234.
Для выполнения задания рекомендуется написать программу или воспользоваться редактором электронных таблиц.
Решение
Пример решения задачи на Python:
count = 0
summa = 0
f = open(«file1.txt»)
for x in f:
x = int(x)
copy = x
kol = 0
while copy > 0:
if copy % 10 == 9:
kol += 1
copy //= 10
if kol == 3:
count += 1
summa += x
print(count, summa)
Задача 10
В файле содержится последовательность целых чисел. Элементы принимают целые значения от 1 до 10000 включительно. Определите количество простых чисел и максимальное простое число. Простое число — число, которое делится только на единицу и само себя.
В качестве ответа запишите сначала количество, а потом максимум без пробелов и разделителей. Например, если количество чисел 99, а максимум 1234, то ответ 991234.
Для выполнения задания рекомендуется написать программу или воспользоваться редактором электронных таблиц.
Решение
Пример решения задачи на Python:
count = 0
Max = 0
f = open(«file1.txt»)
for x in f:
x = int(x)
kol_del = 0
for i in range(1, x + 1):
if x % i == 0:
kol_del += 1
if kol_del == 2:
count += 1
if x > Max:
Max = x
print(count, Max)
Задача 11
В файле содержится последовательность целых чисел. Элементы принимают целые значения от 1 до 10000 включительно. Определите минимум и максимум среди чисел, которые оканчиваются на 3 и делятся на 7.
В качестве ответа запишите сначала минимум, а потом максимум без пробелов и разделителей. Например, если минимум равен 99, а максимум — 1234, то ответ 991234.
Для выполнения задания рекомендуется написать программу или воспользоваться редактором электронных таблиц.
Решение
Пример решения задачи на Python:
Max = 0
Min = 10000
f = open(«file.txt»)
for x in f:
x = int(x)
if x % 10 == 3 and x % 7 == 0:
if x > Max:
Max = x
if x < Min:
Min = x
print(Min, Max)
Задача 12
В файле содержится последовательность целых чисел. Элементы принимают целые значения от 1 до 10000 включительно. Определите количество и сумму чисел, которые делятся на 2 и 13, но не делятся на 5 и 7.
В качестве ответа запишите сначала количество, а потом сумму без пробелов и разделителей. Например, если количество чисел 99, а сумма 1234, то ответ 991234.
Для выполнения задания рекомендуется написать программу или воспользоваться редактором электронных таблиц.
Решение
Пример решения задачи на Python:
count = 0
summa = 0
f = open(«file.txt»)
for x in f:
x = int(x)
if (x % 2 == 0 and x % 13 == 0 and
x % 5 != 0 and x % 7 != 0):
count += 1
summa += x
print(count, summa)
Задача 13
В файле содержится последовательность целых чисел. Элементы принимают целые значения от 1 до 10000 включительно. Определите количество и сумму чисел, которые делятся на 7 и 11, но не делятся на 3 и 5.
В качестве ответа запишите сначала количество, а потом сумму без пробелов и разделителей. Например, если количество чисел 99, а сумма 1234, то ответ 991234.
Для выполнения задания рекомендуется написать программу или воспользоваться редактором электронных таблиц.
Решение
Пример решения задачи на Python:
count = 0
summa = 0
f = open(«file.txt»)
for x in f:
x = int(x)
if (x % 7 == 0 and x % 11 == 0 and
x % 3 != 0 and x % 5 != 0):
count += 1
summa += x
print(count, summa)