на первую страницу


УСЛОВИЯ ЗАДАЧ

Задачи практического тура:

При написании программ (ПАСКАЛЬ, СИ или БЕЙСИК) настоятельно рекомендуется следовать следующим правилам: 
  • Данные считываются из файла INPUT.TXT, где они следуют в порядке их упоминания в условии задачи и находятся каждое на отдельной строке. 
  • Результат работы выводится на экран вместе с пояснениями.
Если Вы не умеете работать с файлами, то разрешается ввод данных с клавиатуры при обязательном выводе подсказок о том, какие данные нужно ввести. Например, Введите количество букв = _ 

Задача 1. "Перестановка цифр" (мало баллов)

Составить программу, которая для заданного натурального числа находит наибольшее из чисел, меньших, чем заданное, составленных из тех же цифр.
 
 

Задача 2. "Числа Армстронга". (мало баллов)

“ Натуральное число из N цифр называется числом Армстронга, если сумма его цифр, возведенных в степень N, равна самому числу. Например, 153 = 1^3 + 5^3 + 3^3. Написать программу, сообщающую количество чисел Армстронга, меньших введенного пользователем натурального числа.
 
 

Задача 3. "Змейка" (среднее колличество баллов)

В произвольном порядке заданы четыре слова из N букв. Вывести слова в виде рамки (по часовой стрелке) с совпадением соответствующих начальных и конечных букв. Например:
Входные данные: N=4, слова: толк, енот, море, корм.
Результат:
толк
о о
н р
ером
 
 

Задача 4. "Кондукторы". (среднее колличество баллов)
 
 

Какое может быть минимальное число жителей города, где кондукторы составляют строго более P%, но строго менее Q% населения? Ограничения: 0.01 ? P, Q ? 99.99. Числа P и Q могут быть заданы с точностью до сотых долей.
Например, для P=13.0 и Q=14.1 минимальное число жителей равно 15.
 
 

Задача 5. "Симметричная сумма". (много баллов)
 
 

Дано число. Прибавьте к нему число с переставленными в обратном порядке цифрами. То же самое проделайте с полученной суммой. Опыт показывает, что, повторяя эти действия некоторое число раз, вы непременно, рано или поздно, получите симметричное число, то есть такое число, которое одинаково читается слева направо и справа налево. Напишите программу, которая для введенного числа вычисляет количество действий, необходимых для получения симметричного числа. Например, 38+83=121, то есть одно действие, ответ равен "Шагов: 1, симметричная сумма: 121".
Для некоторых чисел необходимо большое количество действий, например для 89 только 24-й шаг приводит к симметричному результату 8813200023188. Однако такие числа слишком велики для обычных целочисленных переменных, но ответ как-то получить нужно! Использовать в программе вещественные числа нельзя.
 
 

Задача 6. "Многоугольные числа"(много баллов)
 
 

Широко известны так называемые "треугольные" числа: 1,3,6,10, и т.д. Однако понятие этих чисел можно обобщить. Возьмем правильный N-угольник со сторонами длины 1. Зафиксируем один из его углов. Далее будем строить правильные N-угольники, подобные исходному с коэффициентами 2,3,4 и т.д.
Стороны этих многоугольников разметим отрезками длины 1, и между каждыми двумя соседними отрезками поставим точку (в том числе, в вершинах). На прилагаемом рисунке приведен пример для пятиугольника.

Подсчитывая сумму точек, находящихся на сторонах и внутри очередного многоугольника, получаем очередное "многоугольное" число. Считая единицу N-угольным числом для произвольного N, из рисунка получаем такое начало последовательности 5-угольных чисел: 1, 5, 12, 22, 35, 51, ...
Ваша задача: по заданным M и N и диапазону от P до Q подсчитать все числа в этом диапазоне, которые одновременно являются M-угольными и N-угольными. Числа M и N - целые от 3 до 500. Границы диапазона P и Q - целые от 1 до 65535, гарантируется, что P < Q. 

Задачи теоретического тура.

1. Представление функций. (мало баллов)

Выразить приведенные ниже функции через другие функции из этого списка (наиболее кратко и оптимально). Можно применять операции +, -, *, /.
max(x,y) - наибольшее из двух чисел,
sign(x) - знак числа, т.е. +1 или -1,
min(x,y) - наименьшее из двух чисел, 
int(x) - целая часть числа,
abs(x) - модуль числа,
div(x,y) - целая часть от деления x на y,
mod(x,y) - остаток от деления x на y.

2. Режим дисплея. (мало баллов)

При разрешении экрана 640х400 пикселов используются ровно 125 КБайт видеопамяти. Какое количество цветов отображает этот видеорежим? 

3. Автобусы. (среднее колличество баллов)

К остановке подходят автобусы с разными номерами. Сообщение о том, что к остановке подошел автобус № 1, несет 4 бита информации. Шансов появления на остановке автобуса № 2 в два раза меньше, чем автобуса № 1. Сколько бит информации несет сообщение о появлении автобуса № 2 на остановке? 

4. Взвешивание. Автобусы (среднее колличество баллов)

Имеется 41 монета. Среди них 40 одинаковых настоящих монет и одна фальшивая, отличающаяся от них по весу. Необходимо выяснить, легче или тяжелее фальшивая монета по сравнению с настоящей. Как это сделать при помощи двух взвешиваний на чашечных весах без гирь? 

5. ТОРТ. Автобусы (много баллов)

На круглом торте как-то расставлены N свечей, то есть заданы координаты каждой из свечей; центр торта считать началом координат, свечи считать точками. Придумать алгоритм, определяющий, можно ли одним прямолинейным разрезом разделить торт на две равные по площади части, на одной из которых не было бы ни одной свечи? Разрез не может проходить через свечу. 

6. Дискеты. (много баллов)

Имеется 100 дискет и столько же этикеток. Все дискеты и этикетки окрашены в небольшое количество цветов. Этикетки нужно наклеить по одной на дискету. Если при этом дискета и этикетка окажутся одного и того же цвета, то назовем это дублем. Можно ли распределить этикетки между дискетами так, чтобы дублей не было, или, по крайней мере, дубли были только одного цвета? Обоснуйте ответ.

Председатель жюри:
Дьяконов Максим Валерьевич
e-mail: mdia{at}cs.karelia.ru