Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Задание 17 ЕГЭ
- 1. В файле 17-243.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10000 включительно. Определите количество пар чисел, в которых хотя бы один из двух элементов больше, чем наибольшее из всех чисел в файле, делящихся на 19. В ответе запишите два числа: сначала количество найденных пар, а затем – минимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
- # Открываем файл и считываем числа
- with open('17-243.txt') as f:
- numbers = list(map(int, f.readlines()))
- # Находим наибольшее число, делящееся на 19
- max_div_19 = max(num for num in numbers if num % 19 == 0)
- # Инициализируем переменные для подсчета пар и минимальной суммы
- count_pairs = 0
- min_sum = float('inf')
- # Проходим по последовательности и проверяем пары
- for i in range(len(numbers) - 1):
- a, b = numbers[i], numbers[i + 1]
- if a > max_div_19 or b > max_div_19:
- count_pairs += 1
- current_sum = a + b
- if current_sum < min_sum:
- min_sum = current_sum
- print(count_pairs, min_sum)
- 2. В файле 17-271.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10000 до 10000 включительно. Определите и запишите в ответе сначала количество пар элементов, сумма последних цифр которых равна 7, затем максимальную сумму элементов таких из найденных пар, в которых оба значения меньше среднего арифметического всех элементов обрабатываемой последовательности. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
- Например, рассмотрим последовательность из шести элементов: 12; 18; 2; -15; 11; 16. Подходит две пары: (2; -15), (11; 16). Среднее арифметическое всех элементов последовательности равно 9. Следовательно искомая сумма равна 2 + (–15) = –13. Ответ: 2 –13.
- with open('17-271.txt') as f:
- numbers = list(map(int, f.readlines()))
- # Вычисляем среднее арифметическое
- average = sum(numbers) / len(numbers)
- count_pairs = 0
- max_sum = -20000 # Начальное значение для максимальной суммы
- for i in range(len(numbers) - 1):
- a, b = numbers[i], numbers[i + 1]
- if abs(a) % 10 + abs(b) % 10 == 7:
- count_pairs += 1
- if a < average and b < average:
- max_sum = max(max_sum, a + b)
- print(count_pairs, max_sum)
- 3. В файле 17-282.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10000. Определите количество пар элементов последовательности, в которых хотя бы одно число кратно максимальному числу в последовательности, кратному 13. В ответе запишите количество найденных пар, затем минимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
- with open('17-282.txt') as f:
- numbers = list(map(int, f.readlines()))
- max_div_13 = max(num for num in numbers if num % 13 == 0)
- count_pairs = 0
- min_sum = float('inf')
- for i in range(len(numbers) - 1):
- a, b = numbers[i], numbers[i + 1]
- if a % max_div_13 == 0 or b % max_div_13 == 0:
- count_pairs += 1
- min_sum = min(min_sum, a + b)
- print(count_pairs, min_sum)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement