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

17.03 Прочие прототипы

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

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

Задача 1#61226

В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые положительные значения до 10 000 включительно. Необходимо найти количество элементов последовательности, кратных 56, и количество кратных 89. Если количество кратных 56 больше, чем количество кратных 89, то программа должна вывести количество кратных 56, а также минимальный из них. В противном случае программа должна вывести количество кратных 89, а также максимальный из них. Числа в ответе запишите через пробел.

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

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

Напишем программу, которая будет проходить по всем числам из файла и считать количество элементов, кратных 56 и кратных 89. Одновременно будем отслеживать минимальное число, кратное 56, и максимальное число, кратное 89. После прохода по списку сравним количества кратных 56 и кратных 89. Если количество кратных 56 больше, то выведем количество кратных 56 и минимальное из них, в противном случае — количество кратных 89 и максимальное из них.

# считываем все числа из файла в список
f = open("17_6.txt")
a = [int(i) for i in f]

# счётчики количества элементов кратных 56 и 89
c56 = 0
c89 = 0

# переменные для минимального числа кратного 56 и максимального числа кратного 89
mn56 = 10**10
mx89 = -10**9

# перебираем все числа
for i in range(len(a)):
    if a[i] % 56 == 0:
        # если число кратно 56, увеличиваем счётчик и обновляем минимальное число кратное 56
        c56 += 1
        mn56 = min(mn56, a[i])
    if a[i] % 89 == 0:
        # если число кратно 89, увеличиваем счётчик и обновляем максимальное число кратное 89
        c89 += 1
        mx89 = max(mx89, a[i])

# сравниваем количества и выводим результат согласно условию
if c56 > c89:
    print(c56, mn56)
else:
    print(c89, mx89)

Ответ: 18 280

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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