ЕГЭ, ОГЭ, программирование и робототехника в Калининграде

№ 17013. Основная волна

B файле содержится последовательность натуральных чисел. Её элементы могут принимать целые значения от 1 до 100 000 включительно.

Определите количество пар последовательности, в которых только один из элементов является трёхзначным числом, a сумма элементов пары кратна минимальному трёхзначному элементу последовательности, оканчивающемуся на 7.

В ответе запишите количество найденных пар, затем минимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

with open('1713.txt') as f:
    data = list(map(int, f))

min_7 = min(i for i in data if len(str(abs(i))) == 3 and str(i)[-1] == '7')


# Через исключающее или - ^
def f(x, y):
    return (100 <= x < 1000) ^ (100 <= y < 1000)


ans = []
for x, y in zip(data, data[1:]):
    if f(x, y) and (x + y) % min_7 == 0:
        ans.append(x + y)

print(len(ans), min(ans))
Разберём это задание на бесплатном пробном занятии

Преподаватель покажет, как решать такие задачи, и подскажет, с чего начать подготовку. Группы до 8 человек, очно в Калининграде и онлайн.

Записаться на пробное занятие