Тема 17. Обработка числовой последовательности

17.01 Обработка пар элементов последовательности

Вспоминай формулы по каждой теме
Решай новые задачи каждый день
Вдумчиво разбирай решения
ШКОЛКОВО.
Готовиться с нами - ЛЕГКО!
Подтемы раздела обработка числовой последовательности
Решаем задачу:

Ошибка.
Попробуйте повторить позже

Задача 1#37433

В файле 2.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, произведение которых кратно их сумме (если сумма не ноль). Затем - сумму максимального и минимального элементов которые содержатся в таких парах. Числа должны идти через пробел. В данной задаче под парой подразумевается два идущих подряд элемента последовательности. Например, для последовательности [4220; -4180; 1496; -1408; 2268; 3024] ответом будет пара чисел: 3 и 40.

Вложения к задаче
Показать ответ и решение

Решение программой.

Нужно пройти по последовательности и рассмотреть все пары соседних элементов. Для каждой пары, у которой сумма не равна нулю, проверяем, делится ли произведение на сумму без остатка. Если условие выполняется, увеличиваем счётчик таких пар и обновляем минимум и максимум среди элементов этих пар. В конце выводим количество пар и сумму минимального и максимального элементов.

# Открываем файл для чтения
f = open(’2.txt’)
# Считываем первое число последовательности
a = int(f.readline())
# Инициализируем минимум и максимум
minim = 10001
maxim = -10001
# Счётчик пар, удовлетворяющих условию
count = 0
# Проходим по оставшимся числам
for i in f:
    # Преобразуем текущую строку в число
    b = int(i)
    # Проверяем, что сумма не равна нулю
    if (a + b) != 0:
        # Проверяем кратность произведения сумме
        if (a * b) % (a + b) == 0:
            # Увеличиваем счётчик
            count += 1
            # Обновляем максимум среди элементов таких пар
            maxim = max(a, b, maxim)
            # Обновляем минимум среди элементов таких пар
            minim = min(a, b, minim)
    # Переходим к следующему элементу
    a = b
# Выводим количество пар и сумму минимума с максимумом
print(count, minim + maxim)

Ответ: 20 -310

Специальные программы

Все специальные программы

Программа
лояльности v2.0

Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!

Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение

Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты

Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей

Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ

Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!

cyberpunkMouse
cyberpunkMouse
Рулетка
Вы можете получить скидку в рулетке!