ОБЛАСТНАЯ ОЛИМПИАДА ШКОЛЬНИКОВ ПО ИНФОРМАТИКЕ
1995-96 учебный год
I ТУР

1. Матрица со спиралью из простых чисел. Задано нечетное 1 < N < 21. Написать программу вывода на экран матрицы N * N, заполненной простыми числами в указанном порядке.

Порядок заполнения показан для N = 5.

00300
022350
 1193729 7
01731110
001300

Здесь первый элемент средней строки 1, а остальные — простые числа, начиная с 2, расположенные по спирали внутри вписанного в квадрат ромба.

2. k-я цифра в записи числа. Дано число 0,1234567891011121314... (его десятичная запись образуется последовательно записанными натуральными числами). Написать программу, вычисляющую k-ю (начиная с 1) цифру hk в записи этого числа (например, h10 = 1), где 1 <= <= 120.

3. Поиск прямоугольников. На прямоугольном клетчатом листе бумаги размером M * N клеток некоторые клетки закрашены и образуют несколько не имеющих общих вершин многоугольников (в т.ч. и невыпуклых). Многоугольные области не могут быть многосвязными (т.е. иметь внутри “пустоты”). Подсчитать количество многоугольников, которые являются прямоугольниками.

Техническое требование: если клетка закрашена, вводить 1, если свободна — 0.

4. Имитатор СУБД. Написать программу, которая должна позволять вводить данные и получать ответы на запросы в форме

НАЗВАНИЕ;ГЕРОЙ;АНТИГЕРОЙ;ГОД;РЕЗУЛЬТАТ
т.е. в форме пяти полей, отделенных друг от друга символом “;” (точкой с запятой).

При вводе данных поля НАЗВАНИЕ, ГЕРОЙ, АНТИГЕРОЙ — любые последовательности букв и цифр, поле ГОД — целое число, поле РЕЗУЛЬТАТ — + (плюс) или – (минус).

При вводе запроса поля принимают значения:
1) условия полного совпадения в виде
=СЛОВО
Здесь СЛОВО — некое допустимое значение поля базы данных. Программа должна выводить информацию о записях базы, соответствующие поля которых имеют значение СЛОВО;
2) ? (вопросительный знак), если желаем в ответе выводить значение соответствующего поля;
3) ! (восклицательный знак), если не желаем.
Выход из программы — по вводу пустой строки.

Примечания:
1) длина строки ввода меньше 80 символов;
2) длина любого поля меньше 20 символов;
3) абсолютное значение поля ГОД меньше 2000.

Пример работы программы (> — приглашение системы к работе):

>КУЛИКОВСКАЯ;ДМИТРИЙ;МАМАЙ;1380;+[Enter]
>БОРОДИНСКАЯ;НАПОЛЕОН;КУТУЗОВ;1812;-[Enter]
>?;!;!;!;?[Enter]
КУЛИКОВСКАЯ;;;;+
БОРОДИНСКАЯ;;;;-
>?;!;!;?;=-[Enter]
БОРОДИНСКАЯ;;;1812;-
>[Enter]

5. Последовательность, заданная рекуррентной формулой. Дана последовательность, заданная рекуррентной формулой

an+1 = 7an  mod  2023, a1 = 1,
где x  mod  y означает остаток от деления x на y. Написать программу, вычисляющую an при 1 <= n <= 100000000000000000000.

 


Рейтинг ресурсов УралWeb
Сайт создан в системе uCoz