Другий тур - 2012
скачати файл завдання (*.doc)
Розв'язки задач відправляти з 19.11 по 25.11.2012 р.
Розв'язок задачі відправляти як вкладений текстовий файл з іменем завдання.
1. Вибір двох чисел (20 балів)
Ім'я вхідного файлу: number.dat
Ім'я вихідного файлу: number.ans
Програма: number.*
Обмеження часу: 2с
Обмеження пам'яті: 64 мбайт
Із заданого набору чисел виберіть два числа так, щоб модуль різниці добутків їх цифр був мінімально можливим.
Формат вхідного файлу.
Перший рядок вхідного файлу містить ціле N - кількість чисел (2<=N<=10000). Другий рядок містить невід'ємні числа, які не перевищують 106. Всі числа цілі, числа в рядках розділені пропуском.
Формат вихідного файлу.
Виведіть два числа, модуль різниці добутків цифр яких мінімально можливий. Якщо відповідей декілька то виведіть ту, в якій мінімальне перше число. Якщо і в цьому випадку відповідей декілька - виберіть ту, в якій мінімальне друге число.
Приклад.
Number.dat
|
Number.ans
|
5
13 24 35 47 38
|
38 47
|
|3*8-4*7|=4
2. Сума факторіалів (100 балів)
Ім'я вхідного файлу: factor.dat
Ім'я вихідного файлу: factor.ans
Програма: factor.*
Обмеження часу: 2с
Обмеження пам'яті: 64 мбайт
Факторіал додатного числа А - це добуток всіх цілих чисел від 1 до А: А!=1∙2∙...А. Факторіал 0 рівний 1.
Задане число N представте у вигляді суми факторіалів. Кожний факторіал можна використовувати один раз.
Формат вхідного файлу.
Вхідний файл містить одне ціле число N (1<=N<=1018).
Формат вихідного файлу.
Вихідний файл повинен містити представлення числа N у вигляді суми факторіалів, як показано в прикладі або «Impossible», якщо представлення не існує. Якщо відповідей декілька, виведіть будь-яку.
Приклад.
factor.dat
|
factor.ans
|
6
|
3!
|
4
|
0!+1!+2!
|
|