Задачи
Задача 1
Вы собираетесь в магазин и записываете, что нужно купить. Напишите программу, которая считывает сначала количество покупок, потом по очереди сами эти покупки, затем выводит их же в том же порядке.
Формат ввода
На первой строке — количество покупок. Затем список покупок, каждая позиция списка на отдельной строке.
Формат вывода
Тот же самый список покупок.
Пример
Ввод
Вывод
Задача 2
Напишите компонент очень-очень простой поисковой системы. Вводится количество строк с данными, затем сами эти строки, затем — поисковая строка. Нужно вывести все строки с данными, где встречается поисковая строка.
Формат ввода
Вводится количество строк с данными. Затем — сами строки с данными в указанном количестве. Затем — поисковая строка.
Формат вывода
Все строки с данными, где встречается поисковая строка и ровно в том порядке, в котором они были введены.
Пример
Ввод
Вывод
Задача 3
Напишите программу, которая выводит букву с заданным номером из каждой введённой строки. Это может использоваться, например, для конструирования аббревиатур или чтения акростихов. Если некоторые строки слишком короткие, и в них нет символа с заданным номером, то такие строки при выводе нужно просто пропускать.
Формат ввода
На первой строке вводится натуральное число — количество строк. Далее следуют сами строки. В конце вводится натуральное число — номер буквы (нумерация начинается с единицы).
Формат вывода
Буква с соответствующим номером из каждой строки; все буквы выводятся на одной и той же строке подряд.
Пример
Ввод
Вывод
Задача 4
Напишите программу, которая делает автоматические объявления в крупном магазине. Объявление собирается из заранее записанных частей.
Формат ввода
На первой строке вводится натуральное число — количество записанных частей объявлений. Далее следуют строки — части объявлений. Затем идёт количество частей, из которых будет состоять объявление, которое нужно сделать. Затем на отдельных строках следуют натуральные числа — номера этих частей (нумерация начинается с 1).
Формат вывода
Строки — части объявления, которое делает программа.
Пример
Ввод
Вывод
Задача 5
Имеется конечная последовательность чисел. Найдите попарные суммы её соседних членов. Например, последовательность
превратится в
то есть в
Формат ввода
На первой строке записано количество членов исходной последовательности. Затем идут целые числа — члены последовательности.
Формат вывода
Целые числа — попарные суммы соседних членов последовательности.
Пример
Ввод
Вывод
Задача 6
Напишите компонент очень-очень простой поисковой системы. Вводится количество строк с данными, затем сами эти строки, затем — количество поисковых строк, затем сами эти строки. Нужно вывести все такие строки с данными, в которых встречается все поисковые строки.
Формат ввода
Вводится количество строк с данными. Затем — сами строки с данными в указанном количестве. Затем вводится количество поисковых строк. Затем — сами поисковые строки в указанном количестве.
Формат вывода
Все такие введённые строки с данными, в которых встречается все введённые поисковые строки.
Пример
Ввод
Вывод
Задача 7
В кафе каждый день под названием «суп дня» подают новый суп. Супы дня чередуются в следующем порядке: щи (всегда первые), борщ, щавелевый суп, овсяный суп, суп по-чабански, затем снова щи, и так далее в том же порядке.
Выведите расписание супов дня на ближайшие несколько дней.
Формат ввода
Вводится одно натуральное число — количество дней.
Формат вывода
Для каждого из дней выводится суп дня по указанному в условии правилу на отдельной строке.
Пример
Ввод
Вывод
Задача 8
Вы — директор инвестиционного фонда, доходность которого в ближайший год составит 200%! Продемонстрируйте наглядно вашим клиентам, как увеличатся их накопления.
Формат ввода
На первой строке вводится число N — количество клиентов. Далее на отдельных строках следуют N целых чисел — величина накоплений каждого из клиентов.
Формат вывода
Сначала выводится величина накоплений каждого клиента в том же порядке. Затем следует пустая строка. Затем выводятся те же числа в том же порядке, утроенные.
Пример
Ввод
Вывод
Задача 9
Напишите программу, которая считывает список чисел, а затем выводит сумму в диапазоне от заданного до заданного. При этом в программе не должно использоваться обращение к элементам по индексу.
Формат ввода
На первой строке вводится натуральное число N — количество чисел в списке. Далее следуют N целых чисел из списка, каждое на отдельной строке. Затем на отдельных строках следуют начальный (p) и конечный (q) номера элементов списка, который нужно просуммировать. Нумерация идёт с единицы. Гарантируется, что 1≤ p ≤ q ≤ N.
Формат вывода
Выводится сумма элементов списка с p-го включительно по q-й включительно.
Пример
Ввод
Вывод
Задача 10
Напишите жёсткий фильтр поисковых запросов для интернета в школе, который пропускает лишь те запросы, которые есть в «белом списке».
Формат ввода
На первой строке вводится количество пунктов «белого списка». Затем — сами пункты «белого списка». На отдельной строке — количество запросов, которые нужно проанализировать. Затем — сами запросы.
Формат вывода
Те запросы из введённых, которые есть в «белом списке».
Пример 1
Ввод
Вывод
Пример 2
Ввод
Вывод
Задача 11
Напишите программу, которая проверяет чек из магазина. На чеке указано, по каким ценам и в каком количестве куплены товары, общая стоимость данного товара (т. е. данной позиции в чеке), а также суммарная итоговая стоимостью. Конечно, по цене и количеству можно узнать стоимость, и суммарную стоимость тоже можно рассчитать. Программа должна проверить, правильно ли рассчитана стоимость каждой позиции и правильно ли рассчитана общая сумма, и если присутствуют ошибки, то указать, где именно.
Формат ввода
На первой строке записано количество позиций N (оно меньше 1000 и дополнено справа пробелами, чтобы достигнуть длины в 4 символа) и общая сумма (целое число).
Далее следует N позиций чека, каждая из которых записана на отдельной строке и соответствует покупке нескольких единиц некоторого товара.
Сначала записана цена товара (она дополнена справа пробелами до 7 символов), затем знак «*», затем количество этих товаров (оно дополнено справа пробелами до 4 символов), затем знак «=», затем стоимость данной позиции.
Формат вывода
Нужно вывести разность между указанной итоговой суммой и истинной суммой стоимостей по всем позициям.
Далее нужно вывести в порядке возрастания номера всех позиций (нумерация с 1), в которых указанная стоимость расходится со стоимостью, которую можно рассчитать из цены и количества товара.
Пример 1
Ввод
Вывод
Пример 2
Ввод
Вывод