Задание №16 — Алгоритмы и программирование
Напишите программу, которая в последовательности натуральных десятичных чисел определяет количество элементов, запись которых
в системе счисления с основанием 7 оканчивается цифрой 2. Если среди входных данных таких элементов нет, программа должна вывести «NO».
Программа получает на вход в первой строке натуральное число – количество чисел N (3 ≤ N ≤ 10000), затем N натуральных чисел,
не превышающих 30 000, каждое в отдельной строке.
Программа должна вывести одно число – количество десятичных чисел (элементов последовательности), запись которых в 7-ричной системе счисления оканчивается цифрой 2, или «NO», если среди входных данных таких элементов нет.
Пример работы программы
Входные данные | Выходные данные |
5 37 22 16 25 42 | 2 |
Проверка решения с помощью ИИ доступна авторизованным пользователям
Решение.
Для решения этой задачи нам необходимо проанализировать каждое число из последовательности и проверить условие, связанное с его записью в системе счисления с основанием 7.
1. Разбор условия. Как определить последнюю цифру числа в системе счисления с основанием ? Последняя цифра числа в любой системе счисления — это остаток от деления этого числа на основание системы. В нашем случае, чтобы узнать последнюю цифру в 7-ричной системе, нужно найти остаток от деления десятичного числа на 7. Условие «оканчивается на 2» на языке программирования запишется как: .
2. Алгоритм действий:
— Сначала считываем количество чисел .
— Создаём переменную-счётчик (например, count), изначально равную 0, для подсчёта подходящих чисел.
— В цикле раз считываем очередное число последовательности.
— Для каждого считанного числа проверяем: если остаток от деления на 7 равен 2, то увеличиваем наш счётчик на 1.
— После завершения цикла проверяем значение счётчика. Если он больше 0, выводим его значение. Если же счётчик остался равен 0 (подходящих чисел не нашлось), выводим «NO».
3. Пример реализации на языке Python:
n = int(input())
count = 0
for i in range(n):
x = int(input())
if x % 7 == 2:
count += 1
if count > 0:
print(count)
else:
print("NO")
4. Проверка на примере. Даны числа: 37, 22, 16, 25, 42.
— (так как ) — подходит, count = 1.
— (так как ) — не подходит.
— (так как ) — подходит, count = 2.
— (так как ) — не подходит.
— (так как ) — не подходит.
Итоговое значение счётчика: 2.
Ответ: 2
Источник: ФИПИ