Задание 17. Информатика. Статград-22-4-1

Просмотры: 215
Изменено: 23 ноября 2024

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

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

Решение:

Python


f = open('17.txt')

nums = list(map(int, f.readlines()))
min_odd = min([x for x in nums if x % 2])

pair_count = 0
max_sub = 0

for i in range(1, len(nums)):
    if ((nums[i-1] % 3 and not nums[i] % 3) \
        or (not nums[i-1] % 3 and nums[i] % 3)) \
        and abs(nums[i-1] - nums[i]) < min_odd:
        pair_count += 1
        max_sub = max(max_sub, abs(nums[i-1] - nums[i]))
    
print(pair_count, max_sub)

Ответ: 748    826