Глава 2. «Сюжет знаком, но новые оттенки».
В этой главе Вам предлагается перерешать задачи, с сюжетами которых вы познакомились в главе 1, но с некоторыми новыми дополнениями, ограничениями, вопросами или другими нюансами. Будьте внимательны: одни дополнения или изменения в условиях или вопросах задач не влияют существенно на изменения решений, а другие могут не только кардинальным образом изменить само решение, но даже поменять метод решения задачи.
Задача 1
а) Написать программу, которая зашифровывала бы текст по заданному в условии задачи 1 принципу.
в) Решить задачу а) для латинских букв.
Задача 2
а) Решить задачу, добавив к списку разрешенных знаков математических действий: деление нацело и (или) возведение в степень.
в) Решить задачу, если знак математических действий между цифрами ставить обязательно.
с) Решить задачу, если разрешено расставлять знаки математических действий между любыми цифрами номера.
d) Решить задачу, если разрешено расставлять знаки математических действий между цифрами и между буквами номера..
e) Решить задачу, если рассматривать пару букв как число в шестнадцатиричной системе счисления.
f) Решить задачу, если рассматривать пару букв как число в шестнадцатиричной системе счисления или как число в римской системе
нумерации.
g) Решить задачу, объединив дополнения и изменения пунктов: a, c - f.
Задача 3
а) Написать программу, которая вычисляла бы количество знаков в числе кусочков, на которое распадется лист, для N до 1000000.
в) Решить задачу, если N не превосходит 100 (1000).
с) Решить задачу, если разрешено складывать лист только параллельно одной стороне листа (т.е. складывать в полоску).
Задача 4
а) Написать программу, которая вычисляла бы количество различных сумм баллов, набранных командами.
в) Решить задачу для N команд, если N не превосходит 100 (1000).
Задача 5
а) Написать программу, которая выдавала бы номера М идущих подряд вагонов с нечетными номерами число пассажиров, в которых максимально, а количества свободных мест попарно различны.
в) Решить задачу, если N не вводится среди исходных данных.
Задача 6
а) Написать программу, которая вычисляла бы процент возрастания нагрузки по величине начальной и конечной нагрузок и периоду времени между ними.
в) Написать программу, которая вычисляла бы дату начала тренировок, по проценту увеличения нагрузки в месяц, суммарной величине выполненных нагрузок, заданной дате, величине нагрузки и дню недели, на заданную дату, если спортсмен тренируется по понедельникам, средам и пятницам.
Задача 7
а) Написать программу, которая не вычитала бы, а сравнивала дроби, у которых целые числители и знаменатели.
в) Решить задачу, если числители и знаменатели не больше 1000000000.
с) Решить задачу, для произведения дробей с числителями и знаменателями до 2000 000 000.
Задача 8
а) Написать программу, которая вычисляла бы количество различных пар, имеющих между собой одну общую точку, отрезков, целиком лежащих на данном отрезке, обе координаты концов которых - целочисленные.
в) Решить задачу, если концы не принадлежат отрезкам.
с) Решить задачу на прямой (с одной координатой концов отрезка).
d) Решить задачу в пространстве (с тремя координатами концов отрезка).
Задача 9
а) Написать программу, которая вычисляла бы порядковый номер введенного члена последовательности, полученной по описанному в задаче правилу, если известны два первые члена последовательности.
в) Решить задачу, если каждый последующий член последовательности получается путем прибавления к сумме двух предыдущих членов, суммы цифр двух предыдущих членов.
с) Решить задачу, если каждый последующий член последовательности получается путем прибавления к сумме двух предыдущих членов, суммы цифр всех предыдущих членов.
d) Решить задачу, если каждый последующий член последовательности получается путем прибавления к сумме двух предыдущих членов суммы цифр суммы всех предыдущих членов.
Задача 10
а) Написать программу, которая вычисляла бы минимальное количество ходов за которое конь достигнет заданной клетки.
в) Решить задачу, для условия точно за М ходов.
с) Решить задачу на доске свернутой в цилиндр.
Задача 11
а) Написать программу, которая вычисляла бы минимальное ближайшее число, которое в дополнение к условиям задачи само имеет два решения данной задачи.
в) Решить задачу, для условия замены только любой крайней цифры.
Задача 12
а) Написать программу, которая вычисляла бы количество граждан в Параллелопландии.
в) Написать программу, которая вычисляла бы количество членов общества кубов в Параллелопландии.
с) Написать программу, которая вычисляла бы количество родственников у маленького кубика в Параллелопландии.
d) Написать программу, которая вычисляла бы количество родственников у маленького кубика среди кубов в Параллелопландии.
е) Решить задачи а-d для плоскости (для двух координат).
Задача 13
а) Написать программу, которая вычисляет количество недоступных клеток.
в) Решить задачу, заменив коней королями, ходящими на одну клетку в любом направлении.
с) Решить задачу на доске свернутой в цилиндр.
Задача 14
а) Написать программу, которая по заданному паролю до 8 символов, выдавала все возможные варианты для этого пароля.
в) Решить задачу, для малых латинских букв.
с) Решить задачу, для любых букв.
Задача 15
а) Написать программу, которая вычисляла бы количество чисел на заданном интервале, не имеющих "разноделящихся" делителей.
в) Решить задачу, если цифры в отдельно взятом "разноделящемся" числе повторяться не могут.
с) Написать программу, которая вычисляла бы для двух заданных чисел, их "разноделящийся" НОД.
d) Написать программу, которая вычисляла бы для двух заданных чисел, их "разноделящееся" НОК.
Задача 16
а) Написать программу, которая вычисляла бы количество ушедших (родившихся, умерших) из муравейника за Т сезонов муравьев.
в) Решить задачу, если каждый последующий сезон коэффициент рождаемости К изменяется по закону КN=К*Ln(X/K), где KN-новый коэффициент, К –старый, Х – текущая численность муравьев в муравейнике.
с) Решить задачу, если продолжительность жизни рождающихся каждый последующий сезон муравьев изменяется по закону GN=G*Ln(X/M), где GN-новая продолжительность, G –старая, Х и М – текущая и начальная численность муравьев в муравейнике.
Задача 17
а) Написать программу, которая вычисляла бы количество возможных различных, правильных решений данной задачи для заданной строки.
в) Решить задачу, пробел символом не считая.
с) Решить задачу для текста длиной до 20 000 символов.
Задача 18
а) Написать программу, которая вычисляла бы, число виз, срок действия которых, в днях, больше (меньше, равен) заданного числа М.
в) Решить задачу, если день открытия и (или) закрытия визы не входят в срок ее действия.
Задача 19
а) Решить задачу, если клетку закрашивать в один из цветов не обязательно.
в) Решить задачу для квадратной доски.
с) Решить задачу, если проводят не одну, а две диагонали.
Задача 20
а) Написать программу, которая вычисляет количество недоступных деревьев для заданного дерева.
в) Решить задачу, заменив коней королями, ходящими на одну клетку в любом направлении.
с) Написать программу, которая вычисляет не только количество прыжков, а и длину кратчайшего допустимого маршрута между заданными деревьями.
Задача 21
а) Написать программу которая, находит наименьшее натуральное решение неравенства Х!>=B.
в) Решить задачу, если длина В не превосходит 2000.
Задача 22
а) Написать программу, которая вычисляла бы наибольшую длину интервала, продаваемых билетов, не содержащего "счастливых" билетов.
в) Решить задачу, если стадион каждый матч заполняется полностью.
с) Написать программу, которая вычисляла бы количество всех "счастливых" билетов для N- значных чисел, для N не превосходящих 100 (1000, 1000000).
d) Решить задачу, если номера "счастливых" билетов, вдобавок еще не должны нацело делиться на 11 (2, 3,5,9).
Задача 23
а) Написать программу, которая вычисляла для каждого цвета фишек, количество различных клеток, в которых они могут собраться, выполняя требования условия задачи.
в) Решить задачу, если в каждой клетке одновременно может находиться не более одной фишки.
с) Решить задачу для всех фишек, не зависимо от их цвета.
Задача 24
а) Написать программу, которая вычисляла бы максимальное количество вытянутых морковок, при наихудшем исходе, для заданного набора листков.
в) Решить задачу, если Кролик потерял один из листков, и помнит, что на нем было, написано число не большее и (или) не меньшее чисел на остальных семи листках.
с) Решить задачу для 2 (3, 5, 10, Y) листков.
Задача 25
а) Написать программу, которая вычисляла бы, емкость батареи между заданными номерами спаек.
в) Решить задачу, если общая емкость батареи известна, а надо определить емкость одного конденсатора, присоединенного между заданными спайками.
Задача 26
а) Решить задачу для кубиков имеющих общие ребра с заданным кубиком.
в) Решить задачу для кубиков имеющих хотя бы одну общую точку с заданным кубиком.
с) Решить задачу, если нумерацию в слоях проводят по спирали но в обратном направлении вращения.
Задача 27
а) Написать программу, которая вычисляет сколько раз количество различных, возможных значений таблицы будет делиться без остатка на заданное натуральное число М не превосходящее 2000000.
в) Написать программу, которая вычисляет количество десятичных знаков в числе - количестве различных, возможных значений таблицы.
Задача 28
а) Написать программу которая, находит представление числа с заменой требования максимального Х на минимально возможное большее 1.
в) Решить задачу, если степени А и В не обязательно одинаковы, но сумма их степеней должна быть максимальна (минимальна, фиксирована, ограничена).
Задача 29
а) Написать программу, которая вычисляла бы длину части ломаной, расположенной выше (ниже, не выше, не ниже) оси ОХ.
в) Решить задачу, если ломаная задана в пространстве.
с) Написать программу, которая вычисляла бы количество точек "самопересечений" ломаной.
d) Написать программу, которая вычисляла бы количество прямых углов, которые образуют между собой звенья ломаной, если ломаная без точек "самопересечений".
e) Решить задачу d) , если ломаная c "самопересечениями".
Задача 30
а) Написать программу, которая вычисляла для заданного вида подарка, максимальное количество предметов данного вида, которое может быть снято с ёлки, выполняя требования условия задачи.
в) Решить задачу, если при снятии двух любых разных предметов появляется конфета, а при снятии одинаковых один такой же, как снятый предмет.
с) Написать программу, которая вычисляла, какого вида подарков может быть снято с ёлки максимальное количество, выполняя требования условия задачи, для заданных начальных условий.
Задача 31
а) Написать программу, которая представляет число в виде минимального, большего 1, натурального числа одинаковых целых множителей.
в) Написать программу, которая представляет число состоящее из не более чем 15 десятичных знаков.
Задача 32
а) Написать программу, которая вычисляла бы минимальный вес груза, который можно (нельзя) взвесить заданным набором гирь.
в) Написать программу, которая вычисляла бы максимальный, меньший заданного, вес груза, который можно (нельзя) взвесить заданным набором гирь.
с) Решить задачу, если гири и груз можно ставить только на разные чашки весов.
Задача 33
а) Написать программу, которая вычисляла для заданного прямоугольника количество не закрашенных малых прямоугольников.
в) Решить задачу, если заливали и те прямоугольники, у которых диагонали прошли по границе.
с) Решить задачу для одной диагонали.
d) Решить задачу в) для одной диагонали .
Задача 34
а) Написать программу, которая вычисляла для заданной цифровой части номера, максимальное количество буквенных сочетаний, которые соответствуют условиям "дважды счастливого" номера.
в) Решить задачу при замене требования максимального количества номеров на минимальное.
с) Написать программу, которая вычисляла количество всех возможных, различных "дважды счастливых" номеров.
Задача 35
а) Решить задачу, если номер выбрасываемого ящика определяется номером (равен) предыдущего выброшенного ящика.
в) Решить задачу при замене требования минимального количества выброшенных ящиков на максимальное.
Задача 36
а) Решить задачу, если число страниц не превосходит 10000.
в) Решить задачу при замене требования максимального количества страниц на минимальное.
с) Написать программу, которая вычисляла количество всех возможных, различных вариантов выпадения страниц для заданного номера первой выпавшей страницы.
Задача 37
а) Решить задачу, если число знаков в числах не превосходит 1000.
в) Решить задачу при замене двоичной системы счисления на К-ичную.
с) Написать программу, которая решала бы квадратное уравнение с заданными, согласно условия задачи, коэффициентами.
Задача 38
а) Написать программу, которая вычисляет число подобных, но не равных (треугольники все соответственные углы у которых равны, а стороны нет) треугольников.
в) Написать программу, которая вычисляет максимальное число треугольников у которых третья вершина лежит на одной прямой параллельной общей прямой.
Задача 39
а) Написать программу, которая вместо ответа YES выводила бы количество различных способов которыми это можно сделать.
в) Решить задачу, если в строках использовать как большие так и малые буквы.
Задача 40
а) Написать программу, которая вычисляла бы по новой и старой ценам сплава и количеству добавки цену добавленного компонента.
в) Решить задачу, если добавили М компонентов.
Задача 41
а) Написать программу - чекер, которая проверяла бы правильность записанного в файле магического квадрата.
в) Решить задачу отдельно для четных и нечетных размерностей квадратов.
с) Решить задачу для «магических» кубов.
Задача 42
а) Написать программу, которая кроме того запрашивала номер года и чмсло месяца и выводила название дня недели.
в) Решить задачу, если границы времени суток не входят ни в один интервал.
Задача 43
а) Написать программу, которая вычисляла бы по количеству ударов и срубленному числу голов наибольшее (наименьшее) начальное число голов.
в) Решить задачу, если отрастает число голов равное сумме цифр числа только что отрубленных последним ударом голов.
с) Написать программу, которая вычисляла бы по количеству срубленных голов наибольшее (наименьшее) число ударов, которыми можно это сделать.
Задача 44
а) Написать программу, которая проверяла бы можно или нельзя при помощи заданного набора кружек отмерить заданный объем воды.
в) Решить задачу если воду из кружки в кружку и обратно из результирующей емкости переливать нельзя.
с) Решить задачу для N кружек.
Задача 45
а) Написать программу, которая вычисляла бы с какого дня недели должен начинаться год, чтобы между указанными датами было наибольшее (наименьшее) количество пятниц (понедельников) 13 .
в) Написать программу, которая вычисляла бы максимально возможное число пятниц 13-го между заданными датами.
Задача 46
а) Написать программу, которая вычисляла для заданного треугольника минимальный (максимальный) периметр вписанного квадрата.
в) Решить задачу, если сторона квадрата лежит на любой, а не на большей стороне треугольника.
с) Решить задачу для квадрата, у которого на сторонах треугольника лежат только три вершины, а четвертая вершина внутри треугольника.
Задача 47
а) Написать программу, которая вычисляла, для заданного текста какая из контрольных сумм повторяется максимальное количество раз.
в) Решить задачу для русских букв.
с) Написать программу, которая вычисляла, какое наибольшее количество раз повторяется в тексте одна из "контрольных" сумм.
Задача 48
а) Решить задачу, если слова могут состоять, как из больших, так и из малых букв, а при проверке вхождений регистры не различать.
в) Решить задачу при отмене требования вхождения буквы не более чем в одно вхождение одного слова в другое.
Задача 49
а) Решить задачу, если число цветов не превосходит 255.
в) Написать программу, которая вычисляла, какое наибольшее количество раз подряд не встречалась лампочка одного из цветов.
с) Написать программу, которая вычисляла, какого цвета наибольшее количество раз подряд не встречалась лампочка в гирлянде.
d) Написать программу, которая вычисляла, какого цвета наибольшее количество раз подряд встречалась лампочка в гирлянде.
e) Решить задачи в) и с) одновременно.
Задача 50
а) Написать программу, которая вычисляла, для заданных исходных данных максимальное (минимальное) возможное количество побед (поражений).
в) Решить задачу, если за победу дается два очка, а не три.
с) Написать программу, которая вычисляла, какое наилучшее (наихудшее) место мог занять в данном чемпионате "Локомотив".
Задача 51
а) Решить задачу, если дома могут совпадать.
в) Решить задачу при замене требования равноудаленности нового дома от жилищ на требование минимальности суммы расстояний от жилищ до нового дома.
Задача 52
а) Написать программу, которая вычисляла, для заданного числа атомов, максимальновозможное количество участников.
в) Решить задачу для N>1000.
Задача 53
а) Написать программу - чекер, которая проверяла бы правильность и полноту выданных ответов - номеров станций.
в) Решить задачу, если станции соединены сетью железнодорожных веток, а не одной веткой.
с) Решить задачу для станций, расположенных по замкнутой круговой ветке, по которой можно ехать в одном (двух) направлении.
Задача 54
а) Написать программу, решающую задачу для N разрядных чисел.
в) Решить задачу, если формы цифр заменить на такие как на почтовых конвертах для написания индекса.
с) Написать программу, которая решала бы задачу для условия: наибольшее количество краски, вместо наименьшего.
Задача 55
а) Написать программу, которая проверяла бы можно или нельзя победить саранчу, при замене постоянных 8 и 7 часов на переменные Т1 и Т2.
в) Решить задачу если при совпадении моментов обратный порядок: сначала увеличение а затем уменьшение.
Задача 56
а) Написать программу, которая вычисляла бы, какое наибольшее количество княжеств может оказаться в списке возможно забытых визирем.
в) Написать программу, которая вычисляла бы цену, для которой максимально возможное количество различных кандидатов в забытые визирем княжества.
Задача 57
а) Написать программу, которая вычисляла для заданной системы, минимальный объем куба (в координатных кубических единицах), в который целиком поместится вся система .
в) Решить задачу, если старую станцию считать объектом системы.
с) Решить задачу, если станцию можно строить не только на объекте, но и в любой другой точке пространства.
Задача 58
а) Написать программу, решающую задачу без ограничения на максимальную продолжительность события.
в) Решить задачу, если даты начала и окончания события считать как один день в продолжительность события.
с) Написать программу, которая решала бы задачу без условия простоты числа - продолжительности события в днях.
Задача 59
а) Написать программу, которая вычисляла бы, какое наибольшее количество участников может оказаться соседями К-го участника, если число участников не превосходит N.
в) Написать программу, которая вычисляла бы номер участника, для которого максимально (минимально) возможное количество различных соседей, если число участников не превосходит N.
с) Решить задачу, если участников можно строить не только шеренгами но и по спирали.
d) Решить задачу, если вдобавок соседями считать еще и участников, стоящих рядом по-диагонали от участника.
Задача 60
а) Написать программу, которая вычисляла для заданного числа иероглифов, минимальное число вершин в графе-шаблоне.
в) Решить задачу, если шаблон-граф может быть мультиграфом.
с) Решить задачу, если иероглифом считатьть любой путь из шаблона-графа.
d) Решить задачу, если граф-шаблон ориентированный.
Задача 61
а) Написать программу, которая вычисляла бы количество различных решений ребуса.
в) Решить задачу, если вместо знака плюс будет знак минус (умножить).
с) Решить задачу, если вместо знака плюс в ребусе может быть любой из знаков: плюс, минус, умножить, разделить, разделить нацело.
Задача 62
а) Написать программу, которая вычисляла бы, какое наибольшее количество различных простых чисел можно получить из заданного числа.
в) Написать программу, которая вычисляла число из заданного интервала, для которого максимально возможное количество различных простых чисел, которые можно из него получить вычеркиванием цифр.
с) Решить задачу, если нельзя вычеркивать 0 цифр.
d) Решить задачу, если, вместо требования простоты чисел, поставить требование четности (нечетности) чисел.
Задача 63
а) Написать программу, которая вычисляла Z в десятичной системе счисления, в том числе и дробные.
в) Решить задачу, если можно задавать отрицательные римские числа, записав перед числом знак минус.
Задача 64
а) Написать программу, которая вычисляла бы количество различных пересечений луча света с различными сторонами различных пластинок.
в) Решить задачу, если вместо прямоугольных будут квадратные пластинки с единичной длиной сторон.
с) Решить задачу, если пластинки, у которых засвечено только по одной точке, то же считать в число засвеченных.
Задача 65
а) Написать программу, которая вычисляла бы количество различных гласных в написании названия числа.
в) Решить задачу, где вместо гласных считать согласные (все и различные).
с) Решить задачу, если вводимое число может содержать до 18 разрядов.
Задача 66
а) Написать программу, которая решала бы, задачу для трех (пяти, шести, К) цифр.
в) Написать программу, которая выдавала все четверки цифр для которых возможно неоднозначное решение задачи.
с) Решить задачу для системы счисления с основанием N (3<N<33).
d) Решить задачу, если, к требованию максимальности, добавить требование четности (нечетности) числа.
Задача 67
а) Написать программу, которая вычисляла бы, какое наибольшее количество выстрелов может сделать стрелок, чтобы задачу гарантированно можно было решить без длинной арифметики.
в) Написать программу, которая вычисляла число выстрелов, для которого для решения задачи на PASCALе не достаточно типа REAL.
с) Решить задачу, если процент начисляется и снимается с первоначальной суммы.
d) Решить задачу, если число выстрелов до 50 (100, 1000).
Задача 68
а) Написать программу, которая вычисляла бы, какое наибольшее количество игроков могло участвовать в игре для заданного конечного остатка денег у игроков.
в) Написать программу, которая вычисляла максимальную и минимальную суммы денег, которые были у игроков до игры (в течении игры).
с) Решить задачу, если остатки денег у игроков после игры различны.
Задача 69
а) Написать программу, которая вычисляла бы, какое существует наибольшее количество различных по размерам параллелепипедов, у которых число прожженных лазерным лучом кубиков равно заданному числу, и объем которых не превосходит заданной величины.
в) Написать программу, которая вычисляла число кубиков, по которым луч прошел ровно в одной точке.
Задача 70
а) Написать программу, которая вычисляла бы, какое количество различных квадратов с длинами сторон выражающимися простыми числами можно получить, разрезая прямоугольник заданных размеров.
в) Написать программу, которая вычисляла длину линий разрезания для прямоугольника заданных размеров.
с) Решить задачу, если нужно получить N квадратов (необязательно разных) при минимальной длине линий разрезания.
d) Решить задачу, если убрать требование различности по величине для квадратов.
- Cборник олимпиадных задач по программированию с решениями и пояснениями.
- Рецензенты: а. Б. Кондратович, начальник отдела Учреждения образования “Витебский областной государственный ипк и прр и со”,
- Шедько в. В. Содержание
- Предисловие
- Глава 1. Задачи
- Гбгб Яжб Баба Яга
- Информатика 5
- 24 12 Night winter
- XIX xlix cmxxxi
- Глава 2. «Сюжет знаком, но новые оттенки».