Командное соревнование по программированию

4 июня 2005 г.

 

Задача A. “ПРОИЗВЕДЕНИЕ ЦИФР”

 

Имя программы

а.exe

Имя входного файла:

a.in

Имя выходного файла:

a.out

Ограничение времени

на один тест:

1 секунда

 

Задано целое число N (1 ≤ N ≤ 1000000). Требуется найти наименьшее натуральное число с произведением цифр равным N.

 

Формат ввода (файл a.in)

Во входном файле записано одно натуральное число N (1 ≤ N ≤ 1000000).

 

Формат вывода (файл a.out)

Искомое минимальное число. Если такого числа не существует, вывести 0.

Пример 1

a.in

a.out

10

25

 

Пример 2

a.in

a.out

13

0

 

Задача B. “ЛЕСЕНКИ”

 

Имя программы

b.exe

Имя входного файла:

b.in

Имя выходного файла:

b.out

Ограничение времени

на один тест:

1 секунда

 

Задано целое число N (1 ≤ N ≤ 10000). Составьте программу, которая вычисляет количество различных лесенок, состоящих ровно из N одинаковых кубиков. Здесь лесенка - это набор из ступенек, и количество кубиков, образующих ступеньку, уменьшается снизу вверх. Лесенка содержит по крайней мере две ступеньки, ступенька состоит по крайней мере из одного кубика. Высота ступеньки – 1 кубик. На рисунке приведены все лесенки для N=5.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

НЕ нашли? Не то? Что вы ищете?

 

 

 

 

 

 

1 2 3

 

Формат ввода (файл b.in)

Во входном файле записано одно натуральное число N (1 ≤ N ≤ 10000).

 

Формат вывода (файл b.out)

Искомое количество лесенок.

 

Пример

 

b.in

b.out

5

3

 

Задача C.  "АБРАКАДАБРА"

 

Имя программы

c.exe

Имя входного файла:

c.in

Имя выходного файла:

c.out

Ограничение времени

на один тест:

1 секунда

 

Последовательность из латинских букв строится следующим образом. В начале шаге она

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

 

Шаг 0. пустая последовательность

Шаг 1. а

Шаг 2. aab

Шаг 3. aabaabc

Шаг 4. aabaabcaabaabcd

 

Задача состоит в том, чтобы по заданному числу N определить символ, который стоит на N-ом месте в последовательности, получившейся после 26-го шага.

 

Формат ввода (файл c.in)

Во входном файле записано одно натуральное число N (1 <= N <= 2^26).

 

Формат вывода (файл c.out)

Cимвол, стоящий в позиции N получившейся последовательности.

 

Пример.

 

c.in

c.out

13

b

 

Задача D, E. " ПАРЛАМЕНТ "

 

Имя программы

d.exe

e.exe

Имя входного файла:

d.in

e.in

Имя выходного файла:

d.out

e.out

Ограничение времени

на один тест:

1 секунда

1 секунда

 

 

Новое собрание Парламента Страны Дураков состоит из N (5 £ N £ 10000 ) делегатов. Согласно существующим правилам делегаты должны быть разделены на непересекающиеся группы. Каждый день каждая группа должна послать по одному делегату в согласительный комитет. Состав согласительного комитета должен быть каждый день разным. Парламент работает до тех пор, пока это условие может быть выполнено.

Написать программу, которая определит, сколько делегатов должна содержать каждая группа для того, чтобы Парламент работал максимально долго.

 

Формат ввода (файл c.in)

Во входном файле записано одно натуральное число N (5 £ N £ 10000).

 

Формат вывода (файл c.out)

В одной строке через пробел записываются размеры всех групп делегатов, которые позволяют Парламенту работать в течение максимального времени.

 

Задача D. Группы могут состоять из одинакового количества делегатов.

 

Пример. 1

 

d.in

d.out

9

3 3 3

 

Задача E. Группы состоят из различного количества делегатов.

 

Пример. 1

 

e.in

e.out

9

2 3 4

 

Пример. 2

 

e.in

e.out

31

2 3 5 6 7 8

 

Задача F.  "THE STRANGE SEQUENCE".

 

Имя программы

f.exe

Имя входного файла:

f.in

Имя выходного файла:

f.out

Ограничение времени

на один тест:

1 секунда

 

 

There is a sequence of positive integers {ai}. For each i (i>1) ai is the least possible integer with the following features:
1) ai > ai-1,
2) the sum of ai digits equals the sum of 4* ai-1 digits.

For the given values of the first sequence member a1 and the index n, you must find and output the value of the an .

Input data

The values of integers a1 (0< a1<20) and n (0<n<10000) are input from the keyboard.

Output data

You must write one integer on the screen - the value of the an . For the testing, only data where the corresponding an value does not increase 109 are to be used.

Example

 

f.in

f.out

  Comment

4 5

79

The first five members of the sequence are : 4,7,19,49,79