Для решения задачи нужно написать программу, которая будет выполнять следующие шаги:
- Прочитать количество чисел в последовательности.
- Прочитать сами числа.
- Проверить для каждого числа, оканчивается ли оно на 3.
- Подсчитать количество таких чисел.
- Вывести результат.
Так как длина последовательности не превышает 1000, а числа находятся в диапазоне от 1 до 30 000, данная задача легко решается с использованием стандартных средств программирования.
Решение на Python:
Приведённая ниже программа соответствует описанным требованиям:
# Считываем количество чисел в последовательности
n = int(input("Введите количество чисел в последовательности: "))
# Инициализация счётчика чисел, оканчивающихся на 3
count = 0
# Считываем последовательность чисел и выполняем проверку
for _ in range(n):
number = int(input("Введите число: "))
# Проверяем, оканчивается ли число на 3
if number % 10 == 3:
count += 1
# Выводим результат
print("Количество чисел, оканчивающихся на 3:", count)
Объяснение программы:
Чтение количества чисел.
n = int(input())
Здесь n
— это количество чисел в последовательности. Мы считываем его с клавиатуры.
Инициализация счётчика.
count = 0
Переменная count
будет хранить количество чисел, которые оканчиваются на 3. Изначально оно равно нулю.
Чтение чисел и проверка.
for _ in range(n):
number = int(input())
if number % 10 == 3:
count += 1
Мы используем цикл for
для обработки каждого числа в последовательности. Для каждого числа:
- Считываем его с клавиатуры.
- Проверяем, оканчивается ли оно на 3, используя остаток от деления на 10 (
number % 10 == 3
).
- Если условие выполняется, увеличиваем счётчик
count
на 1.
Вывод результата.
print(count)
После завершения цикла выводим значение переменной count
, которое содержит количество чисел, оканчивающихся на 3.
Пример работы программы:
Ввод:
5
13
23
34
43
50
Вывод:
3
Объяснение:
В данной последовательности из 5 чисел только три числа (13, 23, 43) оканчиваются на 3.
Оптимизация:
Данная программа уже оптимальна по времени и памяти, так как использует линейный алгоритм (O(n)) и минимальное количество переменных. Входные данные (1000 чисел до 30 000) легко обрабатываются на любом современном компьютере.
Программа также может быть модифицирована для работы с файлами или массивами, в зависимости от условий задачи.