Сто задач по программированию
Задачи 76 - 100
Перед решением задач полезно познакомиться со справочными данными
- Написать программу для кодирования данного текста с помощью азбуки Морзе.
- Зашифровать данный текст с помощью шифра Цезаря.
- Зашифровать данный текст с помощью шифра Гронсфельда.
- Даны два текста. Один из них зашифрован кодом Гронсфельда. Определить ключ шифра Гронсфельда с помощью анализа частоты повторений букв в незашифрованном тексте.
- Даны координаты шахматного короля на доске. Определить все поля, на которые может пойти король. Аналогичная задача для коня.
- Написать программу для решения задачи о ханойских башнях.
- Написать программу для показа k поколений данной конфигурации в игре "Жизнь"( автор Дж. Конвей).
- Дано спичек. Пользователь и компьютер поочередно берут несколько спичек (от 1 до за ход). Проигрывает тот, кто делает ход последним. Реализуйте процесс игры так, чтобы компьютер придерживался выигрышной стратегии, если она существует.
- Два игрока по очереди выбирают по одному целому числу из отрезка [1; 10]. Все выбранные числа складываются. Игра продолжается до тех пор, пока вся сумма не станет равной 100. Выигрывает тот, кто сделал последний ход. Напишите программу для игры с компьютером. Компьютер должен придерживаться выигрышной стратегии, если она существует.
- Дано спичек. Два поочередно берут несколько спичек (от 1 до за ход). Проигрывает тот, кто делает ход последним. Напишите программу, которая моделирует чемпионат среди компьютеров. Перед каждой игрой случайным образом определяется , и компьютер, который делает первый ход.
- Написать программу обхода шахматной доски конем, начиная с данной клетки. На каждой клетке конь должен побывать ровно один раз.
- Определить, можно ли расставить восемь ферзей на шахматной доске так, чтобы никакие два из них не угрожали друг другу.
- Дан список номеров районов области. Для каждого района известны его соседи. Разбить все районы на четыре группы так, чтобы соседи не находились в одной группе.
- Дан текст программы на некотором языке (выбрать самостоятельно, оставив лишь часть конструкций). Осуществить синтаксический анализ данного текста.
- Многоугольник на плоскости задан целочисленными координатами своих N вершин в декартовой системе координат. Требуется найти площадь многоугольника. Стороны многоугольника не соприкасаются (за исключением соседних — в вершинах) и не пересекаются.
- Играют двое. Задается какая-то дата 2015 года. Каждый игрок на своем ходе называет более позднюю дату, увеличивая на 1 или 2 либо день в месяце, либо месяц, но не то и другое сразу. При этом сочетание дня и месяца должно оставаться датой. Игрок, назвавший 31 декабря, проигрывает. Оба играют наилучшим образом. Исходя из заданной даты, вывести, кто выиграет.
- Вывести в порядке возрастания все несократимые дроби, заключенные между 0 и 1, знаменатели которых не превышают N.
- Из прямоугольного листа клетчатой бумаги (М строк, N столбцов) удалили некоторые клетки. На сколько кусков распадется оставшаяся часть листа? Две клетки не распадаются, если они имеют общую сторону.
- Даны N натуральных чисел. Найти минимальное натуральное число, не представимое суммой никаких из этих чисел, если в эту сумму каждое исходное число может
входить не более одного раза. - На поверхности планеты, являющейся шаром с радиусом R, заданы две точки своими широтой и долготой. Найти минимальную длину пути по поверхности этой планеты из одной точки в другую.
- Дано N прямоугольников со сторонами, параллельными осям координат. Требуется определить, на сколько частей эти прямоугольники разбивают плоскость (внутри частей не должно быть границ прямоугольников).
- Многоугольник на плоскости задан целочисленными координатами своих N вершин в декартовой системе координат. Требуется найти количество точек с целочисленными координатами, лежащих на границе многоугольника. Стороны многоугольника друг с другом не соприкасаются (за исключением соседних — в вершинах) и не пересекаются.
- Два круга заданы координатами центров в прямоугольной декартовой системе координат и радиусами. Найти площадь их пересечения.
- Обеденный перерыв Гомера Симпсона составляет T мс. Один гамбургер Гомер съедает за N мс, один чизбургер — за М. Требуется найти максимальное суммарное число гамбургеров и чизбургеров, которые Гомер может съесть в течение обеденного перерыва.
- Многоугольник на плоскости задан целочисленными координатами своих N вершин в декартовой системе координат. Требуется найти число точек с целочисленными координатами, лежащих внутри многоугольника (не на границе). Стороны многоугольника друг с другом не соприкасаются (за исключением соседних — в вершинах) и не пересекаются.