Тема 16. Написание программы на универсальном языке

16.01 Создание и выполнение программы на универсальном языке программирования

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

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

Задача 1#133518

Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе счисления с основанием 7 оканчивается цифрой 5. Если среди входных данных таких элементов нет, программа должна вывести «NO».

Программа получает на вход в первой строке натуральное число – количество чисел N (3 ≤ N ≤ 10000)  , затем   N  натуральных чисел, не превышающих 30 000, каждое в отдельной строке.

Программа должна вывести одно число – среднее арифметическое десятичных чисел (элементов последовательности), запись которых в 7-ричной системе счисления оканчивается цифрой 5, или «NO», если среди входных данных таких элементов нет.

Пример работы программы:

Входные данные Выходные данные
5
12
14
20
68
25
40

Источники: Банк ФИПИ

Показать ответ и решение

Идея решения

На вход программа получает количество значений от пользователя, поэтому для ввода новых чисел воспользуемся циклом FOR.

Для поиска среднего арифметического нам понадобятся переменные, обознающие сумму и количество подходящих чисел. Последней цифрой числа в семеричной системе счисления является его остаток от деления на 7. Если полученный остаток равен 5, то программа будет прибавлять последнее введённое число к общей сумме и увеличивать количество на 1. В конце, если количество подходящих чисел больше 0, то среднее арифметическое выводится на экран (иначе выводим "NO").

Программа

s = count = 0  # Сумма подходящих чисел / Количество подходящих чисел
n = int(input())  # Ввод количества чисел пользователем
for i in range(n):
    x = int(input())  # Ввод числа пользователем
    if x % 7 == 5:  # Проверяем остаток от деления на 7 у текущего числа
        s += x
        count += 1
if count > 0:  # Проверяем, были ли найдены подходящие числа
    print(s / count)  # Выводим среднее арифметическое
else:
    print("NO")  # Выводим "NO", если подходящих чисел нет

Ответ:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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