Advertisement
genium08

Homework: 13.11.2024

Nov 12th, 2024
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.75 KB | None | 0 0
  1. Задание 17 ЕГЭ
  2. 1. В файле 17-243.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10000 включительно. Определите количество пар чисел, в которых хотя бы один из двух элементов больше, чем наибольшее из всех чисел в файле, делящихся на 19. В ответе запишите два числа: сначала количество найденных пар, а затем – минимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
  3.  
  4. # Открываем файл и считываем числа
  5. with open('17-243.txt') as f:
  6.     numbers = list(map(int, f.readlines()))
  7. # Находим наибольшее число, делящееся на 19
  8. max_div_19 = max(num for num in numbers if num % 19 == 0)
  9. # Инициализируем переменные для подсчета пар и минимальной суммы
  10. count_pairs = 0
  11. min_sum = float('inf')
  12. # Проходим по последовательности и проверяем пары
  13. for i in range(len(numbers) - 1):
  14.     a, b = numbers[i], numbers[i + 1]
  15.     if a > max_div_19 or b > max_div_19:
  16.         count_pairs += 1
  17.         current_sum = a + b
  18.         if current_sum < min_sum:
  19.             min_sum = current_sum
  20. print(count_pairs, min_sum)
  21.  
  22. 2. В файле 17-271.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10000 до 10000 включительно. Определите и запишите в ответе сначала количество пар элементов, сумма последних цифр которых равна 7, затем максимальную сумму элементов таких из найденных пар, в которых оба значения меньше среднего арифметического всех элементов обрабатываемой последовательности. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
  23. Например, рассмотрим последовательность из шести элементов: 12; 18; 2; -15; 11; 16. Подходит две пары: (2; -15), (11; 16). Среднее арифметическое всех элементов последовательности равно 9. Следовательно искомая сумма равна 2 + (15) =13. Ответ: 213.
  24.  
  25. with open('17-271.txt') as f:
  26.     numbers = list(map(int, f.readlines()))
  27. # Вычисляем среднее арифметическое
  28. average = sum(numbers) / len(numbers)
  29. count_pairs = 0
  30. max_sum = -20000  # Начальное значение для максимальной суммы
  31. for i in range(len(numbers) - 1):
  32.     a, b = numbers[i], numbers[i + 1]
  33.     if abs(a) % 10 + abs(b) % 10 == 7:
  34.         count_pairs += 1
  35.         if a < average and b < average:
  36.             max_sum = max(max_sum, a + b)
  37. print(count_pairs, max_sum)
  38.  
  39. 3. В файле 17-282.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10000.  Определите количество пар элементов последовательности, в которых хотя бы одно число кратно максимальному числу в последовательности, кратному 13. В ответе запишите количество найденных пар, затем минимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.
  40.  
  41. with open('17-282.txt') as f:
  42.     numbers = list(map(int, f.readlines()))
  43. max_div_13 = max(num for num in numbers if num % 13 == 0)
  44. count_pairs = 0
  45. min_sum = float('inf')
  46. for i in range(len(numbers) - 1):
  47.     a, b = numbers[i], numbers[i + 1]
  48.     if a % max_div_13 == 0 or b % max_div_13 == 0:
  49.         count_pairs += 1
  50.         min_sum = min(min_sum, a + b)
  51. print(count_pairs, min_sum)
  52.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement