Задача: составить программу на Pascal, которая подсчитывает количество чисел, оканчивающихся на цифру 3, во вводимой последовательности.
Алгоритм (пояснение по шагам):
- Счётчик cnt инициализируем нулём.
- Считываем количество чисел n.
- В цикле от 1 до n считываем каждое число x.
- Чтобы корректно работать и с отрицательными числами, берём модуль последней цифры: abs(x) mod 10.
- Если last digit равна 3, увеличиваем счётчик.
- По завершении цикла выводим cnt.
Сложность: O(n), где n — количество элементов.
Пример реализации на Pascal:
program CountEndingWith3; var n, i: integer; x: longint; cnt: integer; begin ReadLn(n); cnt := 0; for i := 1 to n do begin Read(x); if (abs(x) mod 10 = 3) then inc(cnt); end; WriteLn(cnt); end.
Пояснения к коду:
- abs(x) возвращает абсолютное значение x, чтобы корректно обрабатывать отрицательные числа, например -13 оканчивается на 3.
- mod 10 даёт последнюю цифру числа (последняя цифра модуля числа).
- Read/ReadLn позволяют вводить числа через пробелы или новые строки.
Пример работы: Ввод: 5 13 23 -33 40 3 Вывод: 4
Если нужны дополнительные варианты ввода (например, без указания количества n заранее, или чтение до конца файла), можно адаптировать цикл на чтение до конца входа. Но базовый вариант выше подходит для школьной задачи с первым числом n.