16 - Программирование

Теория

📋Возможное условие задачи

Вариант 1. Определённый цикл

ℹ️Примечание

Задачи с определённым циклом, как правило, более простые. В таких задачах нам заранее известно, сколько чисел будет в последовательности.

Номер: AB87F8 (ФИПИ, открытый банк заданий ОГЭ).

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

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

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

✓Решение
🐍Python
# Создаём пустой массив
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. Неопределённый цикл

ℹ️Примечание

Задачи с неопределённым циклом, как правило, более сложные. В таких задачах нам заранее не известно, сколько чисел будет в последовательности.

Номер: CC7540 (ФИПИ, открытый банк заданий ОГЭ).

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

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

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

✓Решение
🐍Python
# Создаём пустой массив
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))