1. k-периодичное число (15 баллов). Назовем натуральное число (количество цифр в его записи не превышает 255) k-периодичным, если модуль разности между любыми его двумя соседними цифрами равен k. Определить, является ли k-периодичным заданное число n.
2. Гроза фальшивомонетчиков (25 баллов). Дано 12 монет, одна из которых, возможно, фальшивая. Известно, что она отличается по массе от настоящих, но не известно, легче она или тяжелее. Имеются чашечные весы без гирь. Весы достаточно чувствительны, то есть они способны уловить разность масс, равную разности масс настоящей и фальшивой монеты. За одно взвешивание на каждую чашку весов кладется несколько (от одной до шести) монет и фиксируются показания.
Требуется написать программу, которая бы определяла фальшивую монету за три взвешивания.
Технические требования:
3. Web-адреса (35 баллов). Дано N Web-адресов страниц Internet (N <= 20). На каждой странице расположено несколько ссылок на другие адреса (в частности, таких ссылок может не быть вообще). Требуется определить минимальное число переходов, чтобы попасть с одной страницы на другую.
Замечания:
Технические требования:
Пример работы правильной программы
Программа | Пользователь |
Введите количество Web-адресов | 3 |
Укажите ссылки для первого адреса | 2 3 |
Укажите ссылки для второго адреса | 1 |
Укажите ссылки для третьего адреса | 2 |
Введите номер начального адреса | 1 |
Введите номер конечного адреса | 3 |
Число достаточных переходов: 1. Продолжить? | Y |
Введите номер начального адреса | 3 |
Введите номер конечного адреса | 1 |
Число достаточных переходов: 2. Продолжить? | N |
4. Календари (30 баллов). В “солнечном” календаре год состоит из 12 месяцев с количеством дней соответственно:
Написать программу, переводящую даты из “лунного” календаря в “солнечный” и обратно в пределах 1000-2000 г.г. “солнечного” календаря.
Пример правильно работающей программы
Программа | Пользователь |
Лунный ® Солнечный (Л) или Солнечный ® Лунный (С)? | Л |
Число? | 25 |
Месяц? | 10 |
Год? | 1300 |
25.10.1300 (Л) ® 6.10.1878 (С) |
Замечание. При решении задачи предполагается возможность использования целого типа длиной 4 байта (longint).
5. Кластеры шашек (45 баллов). В произвольных клетках шахматной доски расставлены N шашек, причем не больше одной в клетке. Будем называть кластерами такие группы компактно расположенных шашек, которые группируются по правилам:
Написать программу, которая для заданных числа шашек N и их координат выведет число кластеров и число одиночных шашек. Предусмотреть проверку корректности ввода исходных данных.
Пример правильно работающей программы
Программа | Пользователь |
N=? | 7 |
Координаты? | аl g7 h6 h5 g4 с1 d2 |
Число кластеров равно 2 | |
Число отдельных шашек равно 1 |
6. Счастливый билет (50 баллов). Даны: А — номер автобусного билета (шестизначное натуральное число) и N — целое неотрицательное число. Между некоторыми парами соседних цифр номера билета А разрешается поместить знаки арифметических операций (+ , – , *) так, чтобы результат полученного арифметического выражения стал равен N.
Требуется
Замечания
Техническое требование
Пример работы правильной программы
Программа | Пользователь |
Введите А | 128500 |
Введите N | 8512 |
12+8500=8512 | |
Число найденных решений: 1 | |
Введите А | 258179 |
Введите N | 100 |
2*58-1*7-9=100 | |
2*58*1-7-9=100 | |
Число найденных решений: 2 | |
Введите А | 663570 |
Введите N | 100 |
Решений не существует | |
Введите А | 1998 |
Некорректный ввод | |
Введите А | CHISLO |
Некорректный ввод |