100 задач по программированию. Задачи 76 - 100

Сто задач по программированию

Задачи по программированию

Задачи 76 - 100

Перед решением задач полезно познакомиться со справочными данными

  1. Написать программу для кодирования данного текста с помощью азбуки Морзе.
  2. Зашифровать данный текст с помощью шифра Цезаря.
  3. Зашифровать данный текст с помощью шифра Гронсфельда.
  4. Даны два текста. Один из них зашифрован кодом Гронсфельда. Определить ключ шифра Гронсфельда с помощью анализа частоты повторений букв в незашифрованном тексте.
  5. Даны координаты шахматного короля на доске. Определить все поля, на которые может пойти король. Аналогичная задача для коня.
  6. Написать программу для решения задачи о ханойских башнях.
  7. Написать программу для показа поколений данной конфигурации в игре "Жизнь"( автор Дж. Конвей).
  8. Дано n спичек. Пользователь и компьютер поочередно берут несколько спичек (от 1 до p за ход). Проигрывает тот, кто делает ход последним. Реализуйте процесс игры так, чтобы компьютер придерживался выигрышной стратегии, если она существует.
  9. Два игрока по очереди выбирают по одному целому числу из отрезка [1; 10]. Все выбранные числа складываются. Игра продолжается до тех пор, пока вся сумма не станет равной 100. Выигрывает тот, кто сделал последний ход. Напишите программу для игры с компьютером. Компьютер должен придерживаться выигрышной стратегии, если она существует.
  10. Дано n спичек. Два поочередно берут несколько спичек (от 1 до p за ход). Проигрывает тот, кто делает ход последним. Напишите программу, которая моделирует чемпионат среди k компьютеров. Перед каждой игрой случайным образом определяется n, p и компьютер, который делает первый ход.
  11. Написать программу обхода шахматной доски конем, начиная с данной клетки. На каждой клетке конь должен побывать ровно один раз.
  12. Определить, можно ли расставить восемь ферзей на шахматной доске так, чтобы никакие два из них не угрожали друг другу.
  13. Дан список номеров районов области. Для каждого района известны его соседи. Разбить все районы на четыре группы так, чтобы соседи не находились в одной группе.
  14. Дан текст программы на некотором языке (выбрать самостоятельно, оставив лишь часть конструкций). Осуществить синтаксический анализ данного текста.
  15. Многоугольник на плоскости задан целочисленными координатами своих N вершин в декартовой системе координат. Требуется найти площадь многоугольника. Стороны многоугольника не соприкасаются (за исключением соседних — в вершинах) и не пересекаются.
  16. Играют двое. Задается какая-то дата 2015 года. Каждый игрок на своем ходе называет более позднюю дату, увеличивая на 1 или 2 либо день в месяце, либо месяц, но не то и другое сразу. При этом сочетание дня и месяца должно оставаться датой. Игрок, назвавший 31 декабря, проигрывает. Оба играют наилучшим образом. Исходя из заданной даты, вывести, кто выиграет.
  17. Вывести в порядке возрастания все несократимые дроби, заключенные между 0 и 1, знаменатели которых не превышают N.
  18. Из прямоугольного листа клетчатой бумаги (М строк, N столбцов) удалили некоторые клетки. На сколько кусков распадется оставшаяся часть листа? Две клетки не распадаются, если они имеют общую сторону.
  19. Даны N натуральных чисел. Найти минимальное натуральное число, не представимое суммой никаких из этих чисел, если в эту сумму каждое исходное число может
    входить не более одного раза.
  20. На поверхности планеты, являющейся шаром с радиусом R, заданы две точки своими широтой и долготой. Найти минимальную длину пути по поверхности этой планеты из одной точки в другую.
  21. Дано N прямоугольников со сторонами, параллельными осям координат. Требуется определить, на сколько частей эти прямоугольники разбивают плоскость (внутри частей не должно быть границ прямоугольников).
  22. Многоугольник на плоскости задан целочисленными координатами своих N вершин в декартовой системе координат. Требуется найти количество точек с целочисленными координатами, лежащих на границе многоугольника. Стороны многоугольника друг с другом не соприкасаются (за исключением соседних — в вершинах) и не пересекаются.
  23. Два круга заданы координатами центров в прямоугольной декартовой системе координат и радиусами. Найти площадь их пересечения.
  24. Обеденный перерыв Гомера Симпсона составляет T мс. Один гамбургер Гомер съедает за N мс, один чизбургер — за М. Требуется найти максимальное суммарное  число гамбургеров и чизбургеров, которые Гомер может съесть в течение обеденного перерыва.
  25. Многоугольник на плоскости задан целочисленными координатами своих N вершин в декартовой системе координат. Требуется найти число точек с целочисленными координатами, лежащих внутри многоугольника (не на границе). Стороны многоугольника друг с другом не соприкасаются (за исключением соседних — в вершинах) и не пересекаются.

к содержанию

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *