Table of Contents

Дополнительные задачи по программированию

Легенда

Задачи

Задачи на списки (в задачах следует полагать, что на вход программе сначала подается количество элементов N⇐100, а после - N чисел.)

Строки:

5 Встреча с Римлянами

Попав в 500 год до нашей эры, вы столкнулись с необходимостью перевести число, записанное арабскими цифрами в число, записанное римскими цифрами

Напишите программу, которая переводит число (⇐3000) из арабской записи в римскую.

Примеры:

1994 → MCMXCIV

123 → CXXIII

5 Часы

Представьте обычные цифровые часы, время на которых отображается на 7-ми сегментных индикаторах с учетом ведущего нуля. Например, 9:30 на таких часах отображается так:

Числа отображатся следующим образом:

Требуется написать программу, на вход которой подается целое число n, обозначающее количество зажженных сегментов в отображении некого времени. Програма должна по этому числу востановить время, которое отображается на часах. Время должно быть корректным (подразумевается 24 формат представления времени). Если это невозможно, программа должна вывести “Impossible”. Если может быть несколько вариантов корректного времени, вывести любой.

Примеры:

Вход: 23

Выход: 09:30

Вход: 28

Выход: Impossible

Вход: 2

Выход: Impossible

5 Могила

Территория некоторого кладбища имеет ровную прямоугольную форму. На нем (не выходя за его границы) расположена прямоугольная церковь. Требуется определить, хватит ли на кладбище места для прямоугольной могилы? могила может касаться границы кладбища и/или церкви, но не должна перекрывать их.

На вход программе подаются 10 чисел:

сначала x1, y1, x2, y2 - координаты левого нижнего и правого верхнего углов гладбища

после x1, y1, x2, y2 - координаты левого нижнего и правого верхнего углов церкви

а потом w и h - ширина и высота могилы. Сторона длины w должна располагаться вдоль оси OX, а сторона длины h - вдоль оси OY

Программа должна вывести “Yes”, если место имеется и “No” в проиивном случае.

Пример:

Вход:

1 1 11 8

2 3 8 6

3 2

Выход:

Yes

Вход:

1 1 11 8

2 3 8 6

4 3

Выход:

No

5 Углы углы углы

Даны n попарно различных точек на плоскости с целыми координатами до 10^6 по абсолютной величине. Требуется найти среди этих точек две точки A и B такие, что угол AOB минимальный. O – центр координат.

5 Делим пространство

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