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

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

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

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

Задача 1#52519

Файл содержит последовательность неотрицательных целых чисел, не превышающих 10 000. Тройкой будут являться три идущих подряд элемента последовательности. Определите количество троек чисел таких, которые могут являться сторонами остроугольного треугольника. В ответе запишите два числа: сначала количество найденных троек, а затем − максимальную сумму элементов таких троек, числа записывайте без пробелов и разделителей.

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

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

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

# Открываем файл и считываем числа в список
file = open(’17.txt’)
arr = [int(_) for _ in file]

# Инициализируем счётчик троек и максимум суммы
counter_pairs = 0
max_summ = -10 ** 10

# Проходим по всем тройкам подряд идущих элементов
for index in range(len(arr) - 2):
    # Сортируем тройку для удобства сравнения сторон
    arr_sort = sorted([arr[index], arr[index + 1], arr[index + 2]])
    # Проверяем условие остроугольного треугольника
    if arr_sort[2] ** 2 < arr_sort[1] ** 2 + arr_sort[0] ** 2:
        counter_pairs += 1
        max_summ = max(max_summ, sum(arr_sort))

# Выводим количество троек и максимальную сумму без пробелов
print(counter_pairs, max_summ, sep="")

Ответ: 117529451

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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