Программа получает на вход количество кеглей N и количество бросков K. Далее идет K пар чисел li, ri, при этом 1≤ li≤ ri≤ N.
Программа должна вывести последовательность из N символов,
где j-й символ есть “I
”, если j-я кегля осталась стоять,
или “.
”, если j-я кегля была сбита.
Пока можно не заботиться об эффективности программы.
Программа получает на вход восемь пар чисел, каждое число от 1 до 8 — координаты 8 ферзей.
Если ферзи не бьют друг друга, выведите слово NO
, иначе выведите YES
.
Сделайте упражнение I (флаги) отсюда Флаги следующим способом:
Пользуясь этой функцией, вычислите сумму первых N обратных квадратов точно и выведите её с небольшой погрешностью, поделив числитель на знаменатель.
Сравните результат и время работы с обычным суммированием во float — как минимум, для N, равному 5, 100, 1000, 10000, 100000.
Пользуясь этими функциями, вычислите первые N членов последовательности точно и выведите их
с небольшой погрешностью, деля числитель на знаменатель.
Последовательность задана рекуррентно:
Сравните результат и время работы с обычными вычислениями во float — как минимум, для N, равному 5, 10, 15, 25, 30.
Всё, кроме ввода-вывода, оформите в виде функций.
Ввод | Вывод |
---|---|
-5 6 |
-1 2 |
Напишите программу, которая проведёт Робота до правой стены, подсчитает по пути число препятствий сверху и число проходов вверх и выведет два посчитанных числа.
При решении задачи можно пользоваться всеми средствами Python (в том числе переменными) и следующими функциями Робота:
Возвращают True, если можно сделать шаг в данном направлении (то есть, нет стены) | Делают шаг на соседнюю клетку в данном направлении |
---|---|
is_right_empty() is_left_empty() is_up_empty() is_down_empty() |
step_right() step_left() step_up() step_down() |
Ввод | Вывод |
---|---|
3 5 |
1 2 4 7 10 |
Программа получает на вход координаты фигуры на шахматной доске в шахматной нотации, то есть в виде “Ke4” или “Qb6”, где сначала идёт латинская буква, задающая фигуру, затем — номер столбца (буква от “a” до “h”, слева направо), затем — номер строки (цифра от 1 до 8, снизу вверх).
Выведите количество клеток, которое бьёт фигура, и изображение доски. Изображение для красоты можно “разбавить” пробелами.
Преобразование входного положения в координаты, если оно есть,
должно быть в виде функции, запись звёздочки в клетку — тоже, причём в этой же
функции должна быть проверка, принадлежит ли клетка шахматной доске (желательно,
чтобы эта функция показывала своим возвращаемым значением — True или False, —
была ли проставлена звёздочка).
Генерация клеток-кандидатов для каждой возможной фигуры и подсчёт окончательного
их количества тоже должны выполняться в функции (по одной на фигуру).
Ввод | Вывод |
---|---|
Ke4 |
8 . . . . . . . . . . . . . . . . . . . * . * . . . . * . . . * . . . . . K . . . . . * . . . * . . . . * . * . . . . . . . . . . |
Qb6 |
23 . * . * . . . . * * * . . . . . * Q * * * * * * * * * . . . . . . * . * . . . . . * . . * . . . . * . . . * . . . * . . . . * . |
Напишите программу, которая берёт упакованную строчку и восстанавливает по ней исходную строку.
Вводится одна строка. В строке могут встречаться только конструкции вида nA, где n — количество повторений символа (целое число от 2 до 99), а A — заглавная латинская буква, либо конструкции вида A, то есть символ без числа, определяющего количество повторений. Максимальная длина строки не превышает 80.
Выведите восстановленную строку. При этом строка должна быть разбита на строчки длиной ровно по 40 символов (за исключением последней, которая может содержать меньше 40 символов).
Ввод | Вывод |
---|---|
3A4B7D |
AAABBBBDDDDDDD |
22D7AC18FGD |
DDDDDDDDDDDDDDDDDDDDDDAAAAAAACFFFFFFFFFF FFFFFFFFGD |
95AB |
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAB |
40AB39A |
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA |
Напишите программу, которая по данной ситуации определяет, сколько шариков будет “уничтожено”.
Вариант а)
Непрерывных цепочек из трёх или более одноцветных шаров в начальный момент может быть не больше одной.
Вариант б)
Начальная конфигурация — произвольная. В этом случае количество “уничтоженных” шариков
может зависеть от порядка их “уничтожения”, поэтому примем для определённости,
что каждый раз должна “уничтожаться” самая левая возможная группа шариков.
Сначала вводится количество шариков в цепочке и цвета шариков (от 0 до 9, каждому цвету соответствует своё целое число).
Требуется вывести количество шариков, которое будет “уничтожено”.
Ввод | Вывод |
---|---|
5 1 3 3 3 2 |
3 |
9 6 0 0 5 5 5 0 0 7 |
7 |
10 1 1 9 9 9 1 8 8 8 1 |
9 |
1 2 3 4 5 4 3 2 1 1 2 1 2 2 1 2 1
Вашей программе будет дана последовательность чисел. Требуется определить, какое минимальное количество и каких чисел надо приписать в конец этой последовательности, чтобы она стала симметричной.
В первой строке вводится число N — количество элементов исходной последовательности. Во второй строке через пробел идут N чисел — элементы этой последовательности, натуральные числа от 1 до 9.
Выведите сначала число M — минимальное количество элементов, которое надо дописать к последовательности, а потом M чисел, которые надо дописать к последовательности.
Ввод | Вывод |
---|---|
9 1 2 3 4 5 4 3 2 1 |
0 |
5 1 2 1 2 2 |
3 1 2 1 |
5 1 2 3 4 5 |
4 4 3 2 1 |
Ввод | Вывод |
---|---|
3 |
1 2 3 |
4 |
1 2 3 4 |