16 - Программирование
Теория
Вариант 1. Определённый цикл
Задачи с определённым циклом, как правило, более простые. В таких задачах нам заранее известно, сколько чисел будет в последовательности.
Напишите программу, которая в последовательности натуральных десятичных чисел определяет количество элементов, запись которых в системе счисления с основанием 5 оканчивается нечётной цифрой. Если среди входных данных таких элементов нет, программа должна вывести «NO».
Программа получает на вход в первой строке натуральное число – количество чисел N (3 ≤ N ≤ 10 000), затем N натуральных чисел, не превышающих 30 000, каждое в отдельной строке.
Программа должна вывести одно число – количество десятичных чисел (элементов последовательности), запись которых в 5-ричной системе счисления оканчивается нечётной цифрой, или «NO», если среди входных данных таких элементов нет.
# Создаём пустой массив
M = []
# Записываем количество чисел
kol = int(input())
# Начинаем цикл (выполняется kol раз)
for x in range(kol):
# Записываем число
chis = int(input())
# Проверяем число на соответствие условию.
# Если число подходит,
if (chis % 5) % 2 != 0:
# записываем его в массив
M.append(chis)
# Проверяем, есть ли вообще подходящие числа.
# Если их нет,
if len(M) == 0:
# выводим строчку NO
print("NO")
# Если они есть,
else:
# выводим их количество
print(len(M))Вариант 2. Неопределённый цикл
Задачи с неопределённым циклом, как правило, более сложные. В таких задачах нам заранее не известно, сколько чисел будет в последовательности.
Напишите программу, которая в последовательности натуральных десятичных чисел определяет наибольший элемент, запись которого в системе счисления с основанием 7 оканчивается нечётной цифрой. Если среди входных данных таких элементов нет, программа должна вывести «NO».
Программа получает на вход натуральные десятичные числа, не превышающие 30 000, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом 0 (0 – признак окончания ввода, в последовательность не входит).
Программа должна вывести одно десятичное число – наибольший элемент последовательности, запись которого в 7-ричной системе счисления оканчивается нечётной цифрой, или «NO», если среди входных данных таких элементов нет.
# Создаём пустой массив
M = []
# Записываем первое число
chis = int(input())
# Продолжаем цикл до тех пор,
# пока не будет введён 0
while chis != 0:
# Проверяем число на соответствие условию.
# Если число подходит,
if (chis % 7) % 2 != 0:
# записываем его в массив
M.append(chis)
# Записываем следующее число
chis = int(input())
# Проверяем, есть ли вообще подходящие числа.
# Если их нет,
if len(M) == 0:
# выводим строчку NO
print("NO")
# Если они есть,
else:
# выводим максимальное из них
print(max(M))