Education 1.1 Help

Задачи

Задача 1

Найдите, в каких строках из введённых и в каком месте упоминается кот.

Вместо явного цикла прохода по строке в цикле используйте подходящий метод строки.

Формат ввода

На первой строке вводится натуральное число N — количество строк.

Далее следуют N строк.

Формат вывода

Для каждой строки, в которой есть сочетание символов «кот», нужно вывести (в порядке появления таких строк) номер этой строки (нумерация начинается с единицы) и номер символа, с которого начинается первое вхождение этой подстроки (нумерация символов также с единицы).

Пример

Ввод

3 локоть молоко пёс и кот

Вывод

1 3 3 7

Задача 2

Используя списочное выражение и подходящую стандартную функцию, найдите длину самого длинного из введённых слов.

Формат ввода

Одна строка: слова, разделённые пробелами.

Формат вывода

Одно число: длина самого длинного из введённых слов.

Пример

Ввод

окажем скорейшее вспомоществование

Вывод

17

Задача 3

Найдите сумму чисел из введённого набора от данного номера до данного номера. Например, если введены номера «2 4», то нужно найти сумму чисел в наборе со 2-го по 4-е.

Формат ввода

На первой строке вводится набор целых чисел, разделённых пробелами.

На второй строке вводятся два целых числа M и K, не меньших нуля и меньших количества чисел в наборе. Это номера в наборе, отмечающие начало и конец той части набора, которую нужно просуммировать. Нумерация идёт с нуля.

Формат вывода

Выводится одно число — сумма чисел в наборе, начиная с M-го и заканчивая K-м (включительно).

Пример

Ввод

9 4 8 100 8000 444 2 4

Вывод

8108

Задача 4

Найдите сумму квадратов чисел из введённого набора от данного номера до данного номера. Например, если введены номера «2 4», то нужно найти сумму квадратов чисел в наборе со 2-го по 4-е.

Формат ввода

На первой строке вводится набор целых чисел, разделённых пробелами.

На второй строке вводятся два целых числа M и K, не меньших нуля и меньших количества чисел в наборе. Это номера в наборе, отмечающие начало и конец той части набора, квадраты чисел из которой нужно просуммировать. Нумерация идёт с нуля.

Формат вывода

Выводится одно число — сумма квадратов чисел в наборе, начиная с M-го и заканчивая K-м (включительно).

Пример

Ввод

9 4 8 100 8000 444 2 4

Вывод

64010064

Задача 5

Напишите программу, которая удаляет из программы на языке Python комментарии, а также символы пустого пространства на конце строк. Считайте, что символ решётки всегда означает начало комментария (проверьте себя: в каком случае это не так?).

Формат ввода

На первой строке вводится символ решётки и сразу же натуральное число N — количество строк в программе, не считая эту первую.

Далее следует N строк.

Формат вывода

Нужно вывести те же строки, но удалить комментарии и символы пустого пространства в конце строк. Пустую строку вместо первой строки ввода выводить не надо.

Пример

Ввод

#2 name = input() print('Привет,', name) # здороваемся

Вывод

name = input() print('Привет,', name)

Задача 6

В старых мультфильмах роботы говорили таким специальным роботическим голосом, выговаривая каждую букву отдельно. На письме такой голос можно изобразить заглавными буквами и дефисами между соседними буквами, как в заглавии задачи и в примере. Напишите программу, которая будет преобразовывать нормальную речь в роботическую.

Формат ввода

Вводится одна строка, состоящая из нескольких слов.

Формат вывода

Выводятся те же слова, но заглавными буквами (в верхнем регистре), и между соседними буквами в слове добавлены дефисы.

Пример

Ввод

Мир будет наш

Вывод

М-И-Р Б-У-Д-Е-Т Н-А-Ш

Задача 7

Напишите программу, которая производит вычисление выражения, записанного в обратной польской нотации (ОПН). В ОПН нет ни скобок, ни приоритета операторов («умножение раньше сложения»). Чтобы прочитать выражение, записанное в ОПН, нужно просматривать выражение строго последовательно. Вводимые значения последовательно добавляются в стек, а когда встречается символ операции, то из стека извлекаются последние положенные туда значения, с ними проделывается эта операция, и результат возвращается в стек. Если для операции важен порядок значений, с которыми она производится, то первым идёт число, лежавшее в стеке глубже; в частности, если операция — вычитание, то из предпоследнего числа в стеке вычитается последнее, а не наоборот. Изначально стек пустой, в результате полного вычисления выражения в нём должно остаться одно значение — результат вычислений.

Первый пример следует читать так: в стек последовательно добавляются значения 7, 2, 3, затем встречаем знак операции *, поэтому значения 2 и 3 извлекаются, перемножаются, результат (6) кладётся обратно в стек, и следующий знак - извлекает из стека два оставшихся в нём значения 7 и 6, вычитает одно из другого и кладёт результат снова в стек. Выражение закончилось, в стеке одно число 1, это и есть результат вычисления.

Формат ввода

Вводится одна строка, содержащая разделённые пробелами целые числа и знаки операций +, -, *, вместе составляющие корректное выражение в обратной польской нотации.

Формат вывода

Выводится одно целое число — результат вычисления выражения.

Пример 1

Ввод

7 2 3 * -

Вывод

1

Пример 2

Ввод

10 15 - 7 *

Вывод

-35

Задача 8

Частотный анализ — это подсчёт, какие символы чаще встречаются в тексте. Это важнейший инструмент взлома многих классических шифров — от шифра Цезаря до шифровальной машины «Энигма». Выполним простой частотный анализ: выясним, какой символ чаще всего встречается в данном тексте.

Формат ввода

Вводится одна строка.

Формат вывода

Выводится один символ в нижнем регистре — наиболее часто встречающийся во введённой строке, кроме пробела, без учёта регистра, если таких несколько — выводится первый по алфавиту.

Пример

Ввод

Баобаб

Вывод

б

Задача 9

Предположим, вы — Эрнст Винсент Райт, и вы пишете очередной литературный эксперимент: роман, в котором вообще не используется какая-нибудь одна буква (как в вашем романе “Gadsby” ни разу не использовалась буква “e”, что, как говорят, осталось незамеченным редакторами). Будет полезно иметь программу, которая укажет, в каких словах вы, забывшись, всё-таки употребили эту букву.

Формат ввода

На первой строке вводится один символ — строчная буква.

На второй строке вводится предложение.

Формат вывода

Нужно вывести список слов (словом считается часть предложения, окружённая символами пустого пространства), в которых присутствует введённая буква в любом регистре, в том же порядке, в каком они встречаются в предложении.

Пример

Ввод

m Mary had a little lamb.

Вывод

Mary lamb.

Задача 10

Часто бывает нужно сосчитать, сколько в тексте печатаемых знаков. Напишите программу, которая это делает.

Формат ввода

Вводится одна строка.

Формат вывода

Выводится одно целое число — количество символов в этой строке, не являющихся ни пробелами, ни табуляциями.

Пример

Ввод

Раз два три

Вывод

9

Задача 11

Далеко не все дети умеют себя развлекать самостоятельно, но у пятилетнего Антона такой проблемы нет. Например, сегодня он придумал новую игру, в которую можно играть в одиночку.

Антон собирает все кубики, которые у него есть, перемешивает их и выкладывает часть в случайном порядке в один ряд. После этого он пытается построить из выбранных кубиков устойчивую пирамиду, но по определенному правилу. Брать следующий кубик для постройки пирамиды можно только из начала или из конца ряда, также для успеха необходимо использовать все кубики в ряду.

Хоть Антон пока не особо разбирается в математике, но интуитивно чувствует, что устойчивая пирамида получится только в том случае, если каждый следующий кубик будет не больше предыдущего.

Напишите программу, которая принимает на вход целое число n - количество раундов игры Антона, а затем n строк, в каждой из которых находятся последовательности целых чисел, записанных через пробел - стороны кубиков, которые выстроены в ряд. Программа должна выводить для каждого раунда стороны кубиков, записанные через пробел, для получившейся пирамиды, если ее можно сделать, руководствуясь правилами игры; или слово НЕТ, если построение устойчивой пирамиды невозможно.

Формат ввода

Целое число n - количество раундов игры n строк со сторонами кубиков в ряду, записанными через пробел

Формат вывода

Для каждого раунда игры - стороны кубиков в получившейся пирамиде, записанные через пробел (основание - первое число, вершина - последнее), либо строка НЕТ, если построение устойчивой пирамиды невозможно

Пример 1

Ввод

2 4 3 2 1 3 4 1 3 2

Вывод

4 4 3 3 2 1 НЕТ

Пример 2

Ввод

3 10 5 4 3 5 7 6 1 3 2 1 3 2 1

Вывод

НЕТ 1 НЕТ

Задача 12

Напишите программу, которая находит рекордное количество вхождений (не обязательно подряд) символа в строку.

Формат ввода

Вводится одна строка.

Формат вывода

Выводится одно целое число — максимальное количество раз, которое встречается какая-либо буква (без учёта регистра) или иной символ во введённой строке.

Пример

Ввод

Длинношеееед

Вывод

4
Last modified: 08 April 2025