Подготовка к школе
1 класс
2 класс
3 класс
4 класс
5 класс
6 класс
7 класс
8 класс
9 класс
10 класс
11 класс
ОГЭ
ЕГЭ
Для всех
Назад

16. Программирование: #294615

Сообщить о проблеме
Задание #294615
Задание было решено верно
Задание было решено неверно

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

Программа получает на вход натуральные десятичные числа, не превышающие $30\ 000$, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом $0$ ($0$ – признак окончания ввода, в последовательность не входит).

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

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

Входные данныеВыходные данные
33
63
17
24
53
0
41

Если запись числа в системе счисления с основанием $7$ оканчивается цифрой $3$, то при делении этого числа на $7$ остаток должен быть равен $3$. Например:

$17 = 2 \cdot 7 + 3$
$24 = 3 \cdot 7 + 3$.

Значит, для каждого введённого числа достаточно проверить условие $x \%\ 7 == 3$. Если условие выполняется, прибавим число к сумме и увеличим счётчик на $1$. Ввод чисел продолжается до тех пор, пока не встретится число $0$. После обработки всех чисел, если счётчик равен $0$, выведем $NO$, иначе выведем сумму подходящих чисел.

s = 0
count = 0
x = int(input())

while x != 0:
    if x % 7 == 3:
        s += x
        count += 1
    x = int(input())

if count == 0:
    print("NO")
else:
    print(s)

Для приведённого примера условию соответствуют числа $17$ и $24$. Их сумма: $17+24=41$.

Поэтому программа выведет: $41$.

Показать
Очки опыта 20
Спросить Зави
0 заданий сегодня

Предложить улучшение