Орієнтовні завдання
ІІ (районного) етапу 2001 року

1. Обертання, 14 балів
По периметру нерухомого правильного m-кутника зеленого кольору всередині останнього «котиться» правильний n-кутник жовтого кольору. Тут і далі колір фіґури — це колір контура фіґури і її внутрішніх точок. Довжина сторони n-кутника в l (натуральне число) разів більша за довжину сторони m-кутника. За t секунд n-кутник обертається за рухом годинникової стрілки навколо однієї з своїх вершин, яка нерухомо лежить на стороні m-кутника, на кут 180°/ k НСК(m,n). Тут НСК(m, n) — найменше спільне кратне чисел m і n. У початковий момент існує горизонталь, яка містить одну сторону m-кутника, що в свою чергу містить сторону n-кутника, причому ліві кінці цих сторін співпадають, а многокутники знаходяться не нижче вказаної горизонталі.

Створіть програму turn.*, яка:

Для вхідних даних 4 3 2 1 5 3-кутник повертається на 30° кожні 5 секунд всередині 4-кутника.

2. Числа, 25 балів
Створіть програму numbers.*, яка:

Приклад

numbers.datnumbers.res
5 315

3. Ділення многочленів, 10 балів
Створіть програму divide.*, яка поділить з лишком один многочлен на інший. Задачу розв'язати для степенів, що не перевищують 99, і цілих коефіцієнтів діленого та дільника. Розв'язання не потребує подання чисел масивами їхніх цифр, якщо:

Вхідний файл divide.dat містить у вказаному порядку степінь і цілі коефіцієнти діленого (тут і далі — у порядку спадання степенів), степінь і цілі коефіцієнти дільника.

Вихідний файл divide.res має таку структуру:
1-ий рядок - степінь і коефіцієнти частки;
2-ий рядок - степінь і коефіцієнти остачі.

Коефіцієнти многочленів подавати нескоротними дробами. Якщо знаменник дробу дорівнює 1, то дробову риску / і сам знаменник не записувати.

Приклад

divide.datdivide.res
5 6 -17 25 -31 13 10
2 2 -3 1
3 3 -4 5 -6
1 -10 16